Con una lista puedes hacer:
list.AddRange(otherCollection);
No hay un método de agregar rango en un HashSet . ¿Cuál es la mejor manera de agregar otra colección a un HashSet?
Con una lista puedes hacer:
list.AddRange(otherCollection);
No hay un método de agregar rango en un HashSet . ¿Cuál es la mejor manera de agregar otra colección a un HashSet?
Respuestas:
Pues HashSet<T>el nombre es UnionWith.
Esto es para indicar la forma distinta en que HashSetfunciona. No puede con seguridad Addun conjunto de elementos aleatorios como en Collectionsalgunos, algunos elementos pueden evaporarse naturalmente.
Creo que UnionWithtoma su nombre después de "fusionarse con otro HashSet", sin embargo, también hay una sobrecarga IEnumerable<T>.
Esta es una forma:
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(yISet) fue creado con un término matemáticamente establecido.UnionWithEra el término más cercano. Excepto porExcept, que claramente debería llamarseSubtractmatemáticamente hablando.