如何连接ReadOnlyCollection <string>和IList <string>

时间:2016-06-21 10:24:58

标签: c# list concat

我有readonlucollection和IList的两个属性 并创建了List<string>的另一个属性 OptionListreadonlycollection<string>ForListIList<string> 但是我没有在合并列表中获得完整列表,它跳过optionlist中的一些元素。

如何获得完整列表?

public List<string> CombineList {
    get {
        return OptionList.Union(ForList).ToList();
    }
}

3 个答案:

答案 0 :(得分:2)

Union方法会跳过两个列表共有的元素。如果您希望有一个保留重复项的列表,请使用concatenation而不是union:

return OptionList.Concat(ForList).ToList();

答案 1 :(得分:2)

如果要连接,请使用ConcatUnion有一个隐含的不同内置。

答案 2 :(得分:0)

问题可能是Union,您不使用Concat。在下面的帖子中描述了一个小的差异:(希望这个helpes :))

在这篇文章中:Union Vs Concat in Linq

我会推荐这种方法:

OptionList.Concat(forList).ToList();