list.AddRange(otherCollection);
HashSet
中没有添加范围方法。将另一个
ICollection
添加到HashSet
的最佳方法是什么?#1 楼
对于HashSet<T>
,名称为UnionWith
。这是为了指示
HashSet
的独特工作方式。您无法像Add
那样安全地对一组随机元素进行Collections
处理,某些元素可能自然蒸发。 UnionWith
也是如此。评论
Imho,HashSet(和ISet)是使用数学设置项创建的。 UnionWith是最近的名词。从数学上讲,Except除外,显然应将其命名为Subtract。
–fa wildchild
2015年1月7日,下午3:39
#2 楼
这是一种方法:public static class Extensions
{
public static bool AddRange<T>(this HashSet<T> source, IEnumerable<T> items)
{
bool allAdded = true;
foreach (T item in items)
{
allAdded &= source.Add(item);
}
return allAdded;
}
}
评论
谢谢您编辑我的答案,我可以请您帮忙吗?可以投票重新打开吗?