如何将用户定义的数据类型转换为hashset c#
我有用户定义的类型如何将用户定义的数据类型转换为hashset c#,c#,hashset,C#,Hashset,我有用户定义的类型项,它继承了IList,ICollection,IEnumerable。如何将此类型转换为HashSet。我在使用下面的代码片段,有没有有效的方法 public static class Extensions { public static bool AddRange<T>(this HashSet<T> @this, IEnumerable<T> items) { bool allAdded = true;
项
,它继承了IList
,ICollection
,IEnumerable
。如何将此类型转换为HashSet
。我在使用下面的代码片段,有没有有效的方法
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;
}
}
公共静态类扩展
{
公共静态bool AddRange(此HashSet@this,IEnumerable items)
{
bool-allAdded=true;
foreach(项目中的T项目)
{
添加&=@this.Add(项目);
}
回报率下降;
}
}
AHashSet
有一个构造函数,它接受一个IEnumerable
并从集合中实例化该HashSet。你可以简单地称之为
如果要将自定义类型中的项加载到现有哈希集中,可能需要使用哈希集的方法,该方法:
修改当前HashSet对象以包含其自身、指定集合或两者中存在的所有元素
但是,这两个选项不会给出一个结果,指定是否有任何项没有通过转换。不过,您可以稍后通过调用HashSet的其他方法之一(如IsSupersetOf
)或简单地比较计数来完成