Con un elenco puoi fare:
list.AddRange(otherCollection);
Non esiste un metodo di intervallo di aggiunta in un HashSet . Qual è il modo migliore per aggiungere un'altra raccolta a un HashSet?
Con un elenco puoi fare:
list.AddRange(otherCollection);
Non esiste un metodo di intervallo di aggiunta in un HashSet . Qual è il modo migliore per aggiungere un'altra raccolta a un HashSet?
Risposte:
Per HashSet<T>, il nome è UnionWith.
Questo per indicare il modo distinto in cui HashSetfunziona. Non puoi tranquillamente Addun insieme di elementi casuali come in esso Collections, alcuni elementi possono evaporare naturalmente.
Penso che UnionWithprende il nome dopo "fusione con un altro HashSet", tuttavia, c'è anche un sovraccarico IEnumerable<T>.
Questo è un modo:
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;
}
}
HashSet(eISet) è stato creato con un termine impostato matematicamente.UnionWithera il termine più vicino. TranneExceptche, che chiaramente dovrebbe essere chiamato comeSubtract, matematicamente parlando.