在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; } }