C# 集合, List<> 取交集、差集、并集的方法

C# 集合, List<> 取交集、差集、并集的方法
        // using System.Linq;
        static void Main(string[] args)
        {
            // Intersect 交集
            // Except 差集
            // Union 并集
            List<int> list1 = new List<int> { 1, 2, 3, 4, 5 };
            List<int> list2 = new List<int> { 3, 4, 5, 6, 8 };

            // 取交集, 即两个集合中相同的元素
            // 输出: 3, 4, 5
            var intersect = list1.Intersect(list2).ToList();
            Console.WriteLine("交集: {0}", string.Join(",", intersect));

            // 取差集, list1中哪些元素是list2中不存在的
            // 输出: 1, 2
            var except1 = list1.Except(list2).ToList();
            Console.WriteLine("差集: {0}", string.Join(",", except1));

            // 取差集, list2中哪些元素是list1中不存在的
            // 输出: 6, 8
            var except2 = list2.Except(list1).ToList();
            Console.WriteLine("差集: {0}", string.Join(",", except2));

            // 取并集, list1集合与list2集合合并, 如果有相同元素只保留一个
            // 输出: 1, 2, 3, 4, 5, 6, 7, 8
            var union = list1.Union(list2).ToList();
            Console.WriteLine("并集: {0}", string.Join(",", union));

            Console.Read();
        }

作者最新文章
ASP.NET ashx 基类的使用方法, ashx 如何继承, ashx 基类如何实现
Winform TextBox (文本框) 密码输入框, 输入内容显示*号 (星号)
Winform 启动前弹出登录界面, 登录成功之后再显示主界面
C# 字符串string和字符数组char[]的相互转换
C# 字符串倒序输出, 实现字符串倒序的方法