2010-09-24 44 views
9

我有兩個不同類型的對象List<T>(即,List<Apple>List<Tiger>)。現在我想結合2個對象的屬性來生成一個新的(匿名)類型的對象。如何使用LINQ生成新類型的對象

如何用LINQ實現?

+0

哪些特性有在蘋果和TRIGER – anishMarokey 2010-09-24 07:02:51

回答

15

那麼你只是想結合蘋果列表的第一個元素與老虎列表的第一個元素?

如果是這樣,如果你正在使用.NET 4,你可以使用Zip

var results = apples.Zip(tigers, (apple, tiger) => 
        new { apple.Colour, tiger.StripeCount }); 

如果你不使用.NET 4,你可以使用我們的執行ZipMoreLINQ

如果你想在一些其他的方式配合老虎蘋果,你可能想使用一個連接:

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

其實,我發現橫加盟特徵。但還是要感謝你的幫助。 – Ricky 2010-09-24 07:37:43

+0

@Ricky:如果你*能*使用連接子句而不是交叉連接,那麼效率會更高。 – 2010-09-24 08:10:27

相關問題