📅  最后修改于: 2023-12-03 15:00:16.015000             🧑  作者: Mango
在 C# 中,HashSet
是一种集合类型,它可以高效地用于存储和查询元素。有时候,我们需要检查两个集合是否有重叠的元素。本文将介绍如何使用 C# 中的 HashSet
类型来检查两个集合是否共享公共元素。
首先,我们需要创建两个 HashSet
类型的集合对象。我们可以使用 HashSet
的构造函数来创建一个空的 HashSet
。例如,下面的代码会创建两个空的 HashSet
:
var set1 = new HashSet<int>();
var set2 = new HashSet<int>();
现在,我们可以向这两个集合中添加元素。我们可以使用 Add
方法将元素添加到 HashSet
中,如下所示:
set1.Add(1);
set1.Add(2);
set1.Add(3);
set2.Add(3);
set2.Add(4);
set2.Add(5);
现在,我们已经创建了两个集合,并向它们中添加了一些元素。接下来,我们需要检查这两个集合中是否存在公共元素。为此,我们可以使用 IntersectWith
方法和 Count
属性:
set1.IntersectWith(set2);
bool hasCommonElements = set1.Count > 0;
上面的代码会使用 IntersectWith
方法获取两个集合中共同的元素。结果会存储在 set1
中。然后,我们检查 set1
的元素个数是否大于 0。如果 set1.Count > 0
,则说明存在公共元素。
下面是一个完整的示例,演示了如何使用 HashSet
来检查两个集合是否共享公共元素:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var set1 = new HashSet<int>();
var set2 = new HashSet<int>();
set1.Add(1);
set1.Add(2);
set1.Add(3);
set2.Add(3);
set2.Add(4);
set2.Add(5);
set1.IntersectWith(set2);
bool hasCommonElements = set1.Count > 0;
Console.WriteLine(hasCommonElements);
}
}
运行上述代码,输出结果为 True
,说明集合 set1
和 set2
存在公共元素 3
。