我有两个列表,其中一个有5个元素,另一个有4个元素。它们有一些相同的元素,但也有不同的元素。我想创建一个只包含它们不同元素的列表。怎么做呢?
注意:5个元素的列表是我的主要列表。
这个怎么样?
var list1 = new List<int>( new []{1,2,3,4,5});
var list2 = new List<int>( new []{1,3,4});
var list3 = list1.Except( list2);
在这种情况下,list3
将仅包含2和5。
编辑
如果你想获取两个集合中唯一的元素,以下代码应该足够:
var list1 = new List<int>( new []{1,2,3,4,5});
var list2 = new List<int>( new []{1,3,4,7});
var list3 = list1.Except(list2).Union(list2.Except(list1));
将输出2、5和7。
string[] collection1 = new string[] { "1", "7", "4" };
string[] collection2 = new string[] { "6", "1", "7" };
var resultSet = collection1.Intersect<string>(collection2);
foreach (string s in resultSet)
{
Console.WriteLine(s);
}