查找集合交集并排除

时间:2012-11-10 19:11:13

标签: c# .net linq

有:

IEnumerable<int> oldValues; // Example: [1, 2, 3, 4]
IEnumerable<int> newValues; // Example: [3, 4, 5, 6]

需要:

IEnumerable<int> removedValues; // Example: [1, 2]
IEnumerable<int> addedValues;   // Example: [5, 6]

有关LINQ解决方案的任何想法吗?

1 个答案:

答案 0 :(得分:7)

您需要Enumerable.Except - 此方法返回第一个序列中未出现在第二个序列中的元素。

IEnumerable<int> removedValued = oldValues.Except(newValues);
IEnumerable<int> addedValues = newValues.Except(oldValues);