【发布时间】:2011-09-19 15:57:40
【问题描述】:
在 C# 中,我有以下类型:
List<List<mytype>> MyLists;
List<mytype> MainList;
我想将 MyList 中所有 List 中的每个元素放入 MainList 中。然后 MainList 将仅包含由 MyList 的每个 List 内的所有元素组成的元素。我尝试了以下方法,但收到有关无法推断类型的错误:
MyLists.ForEach(list => MainList.AddRange(list.SelectMany(x => x != null)));
我不确定要在 SelectMany() 中放入什么,因为我想要 List 中的所有元素。这些元素不需要满足任何标准。
有什么建议吗?
【问题讨论】:
-
您是否希望
MainList将MyLists列表中的元素添加 到其中(我的回答就是这样做的)?或者您是否希望MainList包含MyLists中列表中唯一 的元素?在那种情况下,按照@Reed 所说的去做 -
另外 - 如果需要空值检查,我为此添加了一些选项 - 我不能 100% 确定 which 列表可能包含空值,所以我展示了这两个选项在我的编辑中...
标签: c# linq c#-3.0 linq-to-objects