多分、夜遅くなるかもしれませんが、私はここで困惑しています。私は1つに同じプロパティを持つ複数のリストを結合しようとしています。私はLINQの.UNIONがトリックをするだろうと思ったが、私は間違っていた。私のリストのいくつかの例です:C# - 同じプロパティを持つ複数のLINQコレクションを組み合わせる
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
私のクラスは非常に簡単です。ここでは次のようになります。あなたが迷っている場合は
public class MyClass {
public DateTime Date { get; set; }
public string Name { get; set; }
public string Title { get; set; }
public string Product { get; set; }
}
、私は上記のリストのいずれかを取得するには、このLINQクエリを使用:
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"
})
;
はこれまでのところ、それは非常に簡単ですが、私はしたいですだから、1にすべての私のリストを組み合わせることが、私の最終的なリストは、次のようになります。
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
私はUNIONコマンドはそれを行うだろうと思った:
var newList = List1.Union(List2).Union(List3);
しかし、私は希望の出力を得ていません。
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
私がここで間違っているのは何ですか?
を持っていることwhould失敗するようになっているはずですあなたはAddRangeコマンドを使用して試みることができますユニオンを使用するときに得ますか? –