【发布时间】:2014-06-27 07:58:40
【问题描述】:
我有
int[] array1 = { 1, 2, 3 };
int[] array2 = { 2, 3, 4 };
使用var intersect = array1.Intersect(array2);我得到了
2
3
但我需要得到
1
4
您能给我一些建议吗?如何使用 Linq 做到这一点?
【问题讨论】:
标签: c# linq collections
我有
int[] array1 = { 1, 2, 3 };
int[] array2 = { 2, 3, 4 };
使用var intersect = array1.Intersect(array2);我得到了
2
3
但我需要得到
1
4
您能给我一些建议吗?如何使用 Linq 做到这一点?
【问题讨论】:
标签: c# linq collections
array1.Union(array2).Except(array1.Intersect(array2))
解释:
1, 2, 3, 4
2, 3 1, 4
【讨论】:
试试这个:
int[] array1 = { 1, 2, 3 };
int[] array2 = { 2, 3, 4 };
var result = array1.Concat(array2).Except(array1.Intersect(array2));
foreach (var item in result)
MessageBox.Show(item.ToString());
输出:
1
4
【讨论】:
Concat,并意识到Union 更好。为什么要再次发布该解决方案的答案?