9


2

LINQを使用して新しいタイプのオブジェクトを生成する方法

タイプの異なるオブジェクトの2つの List(つまり、` List`と List)があります。 次に、2つのオブジェクトのプロパティを組み合わせて、新しい(匿名の)タイプのオブジェクトを生成します。

LINQでどのように達成できますか?

1 Answer


15


それでは、りんごリストの最初の要素と虎リストの最初の要素を組み合わせたいだけですか?

その場合、および.NET 4を使用している場合は、http://msdn.microsoft.com/en-us/library/dd267698.aspx [Zip]を使用できます。

var results = apples.Zip(tigers, (apple, tiger) =>
                   new { apple.Colour, tiger.StripeCount });
NET 4を使用していない場合は、http://morelinq.googlecode.com [MoreLINQ]の `Zip`の実装を使用できます。

他の方法でリンゴとトラを一致させたい場合は、おそらく結合を使用する必要があります。

var results = from apple in apples
              join tiger in tigers on apple.Name equals tiger.Name
              select new { apple.Color, tiger.StripeCount };