C# 数组, Array[] 取交集、差集、并集的方法
// using System.Linq;
static void Main(string[] args)
{
// Intersect 交集
// Except 差集
// Union 并集
int[] arr1 = { 1, 2, 3, 4, 5 };
int[] arr2 = { 3, 4, 5, 6, 8 };
// 取交集, 即两个数组中相同的元素
// 输出: 3, 4, 5
var intersect = arr1.Intersect(arr2).ToList();
Console.WriteLine("交集: {0}", string.Join(",", intersect));
// 取差集, arr1中哪些元素是arr2中不存在的
// 输出: 1, 2
var except1 = arr1.Except(arr2).ToList();
Console.WriteLine("差集: {0}", string.Join(",", except1));
// 取差集, arr2中哪些元素是arr1中不存在的
// 输出: 6, 8
var except2 = arr2.Except(arr1).ToList();
Console.WriteLine("差集: {0}", string.Join(",", except2));
// 取并集, arr1数组与arr2数组合并, 如果有相同元素只保留一个
// 输出: 1, 2, 3, 4, 5, 6, 7, 8
var union = arr1.Union(arr2).ToList();
Console.WriteLine("并集: {0}", string.Join(",", union));
Console.Read();
}