在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