c# List取交集并集差集的方法


1.取交集

public void Intersection()
{
    List<string> list1 = new List<string> { "AA", "BB", "CC", "EE", "GG" };
    List<string> list2 = new List<string> { "BB", "DD", "GG", "MM" };
    List<string> list3 = new List<string>();
    list3 = list1.Intersect(list2).ToList();
 
    Console.Write(list3.Count);  //交集的个数,如果个数为0,说明没有交集
    Console.WriteLine();
    foreach (var s in list3)      // 各个值
    {
        Console.Write(s);
        Console.WriteLine();
    }
}

结果:BB GG

2.取差集

public void Exception()
{
    List<string> list1 = new List<string> { "AA", "BB", "CC", "EE", "GG" };
    List<string> list2 = new List<string> { "BB", "DD", "GG", "MM" };
    List<string> list3 = new List<string>();
    list3 = list1.Except(list2).ToList();
    foreach (var s in list3)      // 各个值
    {
        Console.Write(s);
        Console.WriteLine();
    }
}

结果:DD MM

3.取并集

public void Union()
{
    List<string> list1 = new List<string> { "AA", "BB", "CC", "EE", "GG" };
    List<string> list2 = new List<string> { "BB", "DD", "GG", "MM" };
    List<string> list3 = new List<string>();
    list3 = list1.Union(list2).ToList();
    foreach (var s in list3)      // 各个值
    {
        Console.Write(s);
        Console.WriteLine();
    }
}

结果:AA BB CC EE GG DD MM



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM