我有readonlucollection
和IList的两个属性
并创建了List<string>
的另一个属性
OptionList
为readonlycollection<string>
,ForList
为IList<string>
但是我没有在合并列表中获得完整列表,它跳过optionlist
中的一些元素。
如何获得完整列表?
public List<string> CombineList {
get {
return OptionList.Union(ForList).ToList();
}
}
答案 0 :(得分:2)
Union
方法会跳过两个列表共有的元素。如果您希望有一个保留重复项的列表,请使用concatenation而不是union:
return OptionList.Concat(ForList).ToList();
答案 1 :(得分:2)
如果要连接,请使用Concat
。 Union
有一个隐含的不同内置。
答案 2 :(得分:0)
问题可能是Union
,您不使用Concat
。在下面的帖子中描述了一个小的差异:(希望这个helpes :))
在这篇文章中:Union Vs Concat in Linq
我会推荐这种方法:
OptionList.Concat(forList).ToList();