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
    欢迎留言交流技术,如要转载也请留言告知。
                    
                
                
            
        
浙公网安备 33010602011771号