如何将用户定义的数据类型转换为哈希集
本文关键字:数据 类型转换 哈希集 定义 用户 | 更新日期: 2023-09-27 18:07:49
我有用户定义的类型Items
,继承了IList
, ICollection
, IEnumerable
。如何将此类型转换为HashSet<Items>
。我正在使用下面的片段,是否有任何有效的方法来做到这一点?
public static class Extensions
{
public static bool AddRange<T>(this HashSet<T> @this, IEnumerable<T> items)
{
bool allAdded = true;
foreach (T item in items)
{
added &= @this.Add(item);
}
return allAdded;
}
}
HashSet<T>
有一个构造函数,它接受IEnumerable<T>
并从集合中实例化该HashSet。你可以把它叫做
如果您想将自定义类型中的项加载到现有的 HashSet中,您可能希望使用HashSet的UnionWith
方法,该方法:
但是,修改当前HashSet对象,使其包含自身、指定集合或两者中存在的所有元素。
这两个选项不能做的是给您一个结果,指定是否有任何项没有通过转换。不过,稍后您可以通过调用HashSet的其他方法之一(如IsSupersetOf
)或简单地比较Counts来完成此操作。