リストでできること:
list.AddRange(otherCollection);
HashSetには範囲追加メソッドはありません。 HashSetに別のコレクションを追加する最良の方法は何ですか?
HashSet<T>
の場合、名前は UnionWith
です。
これは、HashSet
が機能する明確な方法を示すためです。 Add
のように、Collections
にランダムな要素のセットを安全に__できません。一部の要素は自然に蒸発する可能性があります。
UnionWith
は「別のHashSet
とマージ」した後に名前を取得すると思いますが、IEnumerable<T>
にもオーバーロードがあります。
これは1つの方法です。
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;
}
}