如何将用户定义的数据类型转换为哈希集

本文关键字:数据 类型转换 哈希集 定义 用户 | 更新日期: 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来完成此操作。

相关文章: