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号