C# 数组, Array[] 取交集、差集、并集的方法

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();
        }

作者最新文章
Visual Studio, C# 程序集信息 AssemblyInfo.cs 文件详解
html 常用的 DOCTYPE 声明
css 控制内容字母自动转换大小写, 控制大小写字母自动转换
css 去掉a标签超链接的虚线框的方法, 何去除超链接点击时的虚线?
C# 创建、保存、写入无 bom 的 utf-8 编码文件