有:
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解决方案的任何想法吗?
答案 0 :(得分:7)
您需要Enumerable.Except - 此方法返回第一个序列中未出现在第二个序列中的元素。
IEnumerable<int> removedValued = oldValues.Except(newValues);
IEnumerable<int> addedValues = newValues.Except(oldValues);