我有兩個已結合的通用列表。說listA和listB,都是List<SomeType>
。如何將聯合通用列表轉換爲通用列表?
listA.Union(listB);
的聯合在一起集是System.Linq.Enumerable.UnionIterator<string>
類型,這是不一樣的List<SomeType>
。
我已經試過鑄造:
listA.Union(listB).ToList<SomeType>();
和
(List<SomeType>)listA.Union(listB);
都失敗。我試圖訪問ForEach(),認爲我可以將結果添加到新列表中。 .Foreach()不可用。
我可以使用傳統的foreach並將每個項目添加到List<SomeType>
變量。但是,是否有lambda表達式可以在一行中進行轉換,分配給類型爲List<SomeType>
的變量?
在結束時添加.ToList()listA.Union(listB).ToList(); – BlueChippy
請發佈您的代碼。你發佈的代碼會導致一個'UnionIterator',所以ToList可以解決你的問題。由於實際的對象是'UnionIterator ',你必須有其他的事情 - 可能是投影,或SomeType和字符串之間的其他混淆。 (同樣,這會阻止你追求你提到的「傳統的foreach」方法)。 –
phoog
就這樣你知道Union()將刪除兩個列表中的重複對象(如果SomeType.Equals()爲true)。如果你想保持重複,你應該使用Concat() – DarcyThomas