Vielleicht ist es spät in der Nacht, aber ich bin hier ratlos. Ich versuche, mehrere Listen mit denselben Eigenschaften zu einem zu kombinieren. Ich dachte, dass LINQ's .UNION den Trick machen würde, aber ich habe mich geirrt. Hier ist ein Beispiel für ein paar meiner Listen:C# - Kombinieren Sie mehrere LINQ-Sammlungen mit denselben Eigenschaften
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
Meine Klasse ist sehr einfach. Hier ist, wie es aussieht:
public class MyClass {
public DateTime Date { get; set; }
public string Name { get; set; }
public string Title { get; set; }
public string Product { get; set; }
}
Falls Sie sich fragen, habe ich diese LINQ-Abfrage eine der oben genannten Listen zu bekommen:
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"
})
;
Bisher ist es ziemlich einfach, aber ich will Also alle meine Listen in 1 zu kombinieren, sollte meine endgültige Liste wie folgt aussehen:
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
ich dachte, dass ein UNION-Befehl es tun würde:
var newList = List1.Union(List2).Union(List3);
Aber ich bekomme nicht die gewünschte Ausgabe.
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
Irgendeine Idee, was ich hier falsch mache?
was die Sie haben sein aussehen sollte zur Folge haben wenn du Union benutzt? –