在C#中有一个HashSet的AddRange等价物吗?

用你可以做的清单:

list.AddRange(otherCollection);

HashSet中没有添加范围方法。 将另一个集合添加到HashSet的最佳方式是什么?


对于HashSet,名称是UnionWith。

这是为了表明HashSet工作的独特方式。 你不能像集合中那样安全地“添加”一组随机元素,有些元素可能会自然消失。

我认为UnionWith在“与另一个HashSet合并”之后取得了它的名字,但是,IEnumerable也有一个重载:)


这是一种方式:

public static class Extensions
{
    public static bool AddRange<T>(this HashSet<T> @this, IEnumerable<T> items)
    {
        bool allAdded = true;
        foreach (T item in items)
        {
            allAdded &= @this.Add(item);
        }
        return allAdded;
    }
}
链接地址: http://www.djcxy.com/p/53889.html

上一篇: Is there an AddRange equivalent for a HashSet in C#

下一篇: Easy way to change Iterable into Collection