Może jest późno w nocy, ale jestem tu zakłopotany. Próbuję połączyć wiele list z tymi samymi właściwościami w jeden. Myślałem, że LUNQ .UNION zrobi lewę, ale się pomyliłem. Oto przykład kilku z moich list:C# - Połącz wiele kolekcji LINQ z tymi samymi właściwościami
LIST1 (report names):
Date Name Title Product
02/01/13 Steve Hello World Report
02/05/13 Greg Howdy Report
LIST2 (song names):
Date Name Title Product
01/01/13 John Time Song
01/05/13 Bob Sorry Song
LIST3 (games names):
Date Name Title Product
12/01/12 Google Bike Race Game
12/05/12 Apple Temple Run Game
Moja klasa jest bardzo prosta. Oto jak to wygląda:
public class MyClass {
public DateTime Date { get; set; }
public string Name { get; set; }
public string Title { get; set; }
public string Product { get; set; }
}
W przypadku, gdy zastanawiasz się, użyłem tej kwerendy LINQ, aby uzyskać jedną z powyższych list:
var finalList = Games
.Select (s => new MyClass {
Date = (System.DateTime) s.Games.Creation_date,
Name = s.Games.Last_name,
Title = string.Format("{0} (Report)", s.Game.Headline),
Product="Report"
})
;
Jak dotąd, jest to dość łatwe, ale chcę połączyć wszystkie moje listy do 1. Tak więc, moja ostateczna lista powinna wyglądać następująco:
Date Name Title Product
02/01/13 Steve Hello World Report
02/05/13 Greg Howdy Report
01/01/13 John Time Song
01/05/13 Bob Sorry Song
12/01/12 Google Bike Race Game
12/05/12 Apple Temple Run Game
Myślałem, że polecenie UNION byłoby to zrobić:
var newList = List1.Union(List2).Union(List3);
Ale nie otrzymuję pożądanego wyniku.
Date Name Title Product
02/01/13 Steve Hello World Report
02/05/13 Greg Howdy Report
01/01/13 Bob Time Game
01/05/13 John Sorry Song
12/01/12 Google Bike Race Song
12/05/12 Apple Temple Run Game
Każdy pomysł na temat tego, co robię źle tutaj?
jakie wynikają cię uzyskać przy użyciu Unii? –