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


posted @ 2020-08-06 19:44  Boogaloo小马哥  阅读(1765)  评论(0)    收藏  举报