相交可用于查找两个集合之间的匹配项,如下所示:
// Assign two arrays.
int[] array1 = { 1, 2, 3 };
int[] array2 = { 2, 3, 4 };
// Call Intersect extension method.
var intersect = array1.Intersect(array2);
// Write intersection to screen.
foreach (int value in intersect)
{
Console.WriteLine(value); // Output: 2, 3
}
但是我想要实现的却是相反的,我想列出一个集合中另一个集合中缺少的项目:
// Assign two arrays.
int[] array1 = { 1, 2, 3 };
int[] array2 = { 2, 3, 4 };
// Call "NonIntersect" extension method.
var intersect = array1.NonIntersect(array2); // I've made up the NonIntersect method
// Write intersection to screen.
foreach (int value in intersect)
{
Console.WriteLine(value); // Output: 4
}
13
请您确认是否要4作为输出,或1和4
—
岛之风Bråthen如此阐述道
@ oyvind-knobloch-brathen是的,我只想要4
—
Peter Bridger
从技术上讲,对称差异将导致[1,4]。由于彼得只需要array2中的元素而不是array1中的元素(即4),因此称为相对补码(又称集合理论差)
—
rtorres 2014年