Esiste un equivalente AddRange per un hashset in C #

Con una lista puoi fare:

list.AddRange(otherCollection); 

Non esiste alcun metodo di intervallo di aggiunta in un HashSet . Qual è il modo migliore per aggiungere un’altra raccolta a un HashSet?

Per HashSet , il nome è UnionWith .

Questo per indicare il modo distinto con cui funziona HashSet . Non puoi Add modo sicuro un insieme di elementi casuali come in Collections , alcuni elementi potrebbero evaporare naturalmente.

Penso che UnionWith prende il nome dopo “l’unione con un altro HashSet “, tuttavia, c’è anche un sovraccarico per IEnumerable .

Questo è un modo:

 public static class Extensions { public static bool AddRange(this HashSet @this, IEnumerable items) { bool allAdded = true; foreach (T item in items) { allAdded &= @this.Add(item); } return allAdded; } }