HashSet<T>.UnionWith(IEnumerable<T>) Method

Definition

Modifica l'oggetto HashSet<T> corrente per contenere tutti gli elementi presenti in tale oggetto, nella raccolta specificata o in entrambi.Modifies the current HashSet<T> object to contain all elements that are present in itself, the specified collection, or both.

public:
 virtual void UnionWith(System::Collections::Generic::IEnumerable<T> ^ other);
public:
 void UnionWith(System::Collections::Generic::IEnumerable<T> ^ other);
public void UnionWith (System.Collections.Generic.IEnumerable<T> other);
abstract member UnionWith : seq<'T> -> unit
override this.UnionWith : seq<'T> -> unit
member this.UnionWith : seq<'T> -> unit
Public Sub UnionWith (other As IEnumerable(Of T))

Parameters

other
IEnumerable<T>

Raccolta da confrontare con l'oggetto HashSet<T> corrente.The collection to compare to the current HashSet<T> object.

Implements

Exceptions

other è null.other is null.

Examples

Nell'esempio seguente viene illustrato come unire due set diversi.The following example demonstrates how to merge two disparate sets. In questo esempio vengono creati due oggetti HashSet<T> e vengono popolati rispettivamente con numeri pari e dispari.This example creates two HashSet<T> objects, and populates them with even and odd numbers, respectively. Viene creato un terzo oggetto HashSet<T> dal set contenente i numeri pari.A third HashSet<T> object is created from the set that contains the even numbers. Nell'esempio viene quindi chiamato il metodo UnionWith, che aggiunge il set di numeri dispari al terzo set.The example then calls the UnionWith method, which adds the odd number set to the third set.

HashSet<int> evenNumbers = new HashSet<int>();
HashSet<int> oddNumbers = new HashSet<int>();

for (int i = 0; i < 5; i++)
{
    // Populate numbers with just even numbers.
    evenNumbers.Add(i * 2);

    // Populate oddNumbers with just odd numbers.
    oddNumbers.Add((i * 2) + 1);
}

Console.Write("evenNumbers contains {0} elements: ", evenNumbers.Count);
DisplaySet(evenNumbers);

Console.Write("oddNumbers contains {0} elements: ", oddNumbers.Count);
DisplaySet(oddNumbers);

// Create a new HashSet populated with even numbers.
HashSet<int> numbers = new HashSet<int>(evenNumbers);
Console.WriteLine("numbers UnionWith oddNumbers...");
numbers.UnionWith(oddNumbers);

Console.Write("numbers contains {0} elements: ", numbers.Count);
DisplaySet(numbers);

void DisplaySet(HashSet<int> collection)
{
    Console.Write("{");
    foreach (int i in collection)
    {
        Console.Write(" {0}", i);
    }
    Console.WriteLine(" }");
}

/* This example produces output similar to the following:
* evenNumbers contains 5 elements: { 0 2 4 6 8 }
* oddNumbers contains 5 elements: { 1 3 5 7 9 }
* numbers UnionWith oddNumbers...
* numbers contains 10 elements: { 0 2 4 6 8 1 3 5 7 9 }
*/
Imports System.Collections.Generic

Class Program

    Shared Sub Main()

        Dim evenNumbers As HashSet(Of Integer) = New HashSet(Of Integer)()
        Dim oddNumbers As HashSet(Of Integer) = New HashSet(Of Integer)()

        For i As Integer = 0 To 4

            ' Populate evenNumbers with only even numbers.
            evenNumbers.Add(i * 2)

            ' Populate oddNumbers with only odd numbers.
            oddNumbers.Add((i * 2) + 1)
        Next i

        Console.Write("evenNumbers contains {0} elements: ", evenNumbers.Count)
        DisplaySet(evenNumbers)

        Console.Write("oddNumbers contains {0} elements: ", oddNumbers.Count)
        DisplaySet(oddNumbers)

        ' Create a new HashSet populated with even numbers.
        Dim numbers As HashSet(Of Integer) = New HashSet(Of Integer)(evenNumbers)
        Console.WriteLine("numbers UnionWith oddNumbers...")
        numbers.UnionWith(oddNumbers)

        Console.Write("numbers contains {0} elements: ", numbers.Count)
        DisplaySet(numbers)
    End Sub


    Private Shared Sub DisplaySet(ByVal collection As HashSet(Of Integer))
        Console.Write("{")
        For Each i As Integer In collection
            Console.Write(" {0}", i)
        Next i
        Console.WriteLine(" }")
    End Sub

End Class
' This example produces output similar to the following:
' evenNumbers contains 5 elements: { 0 2 4 6 8 }
' oddNumbers contains 5 elements: { 1 3 5 7 9 }
' numbers UnionWith oddNumbers...
' numbers contains 10 elements: { 0 2 4 6 8 1 3 5 7 9 }

Remarks

Questo metodo è un'operazione O (n), in cui n è il numero di elementi nel parametro other.This method is an O(n) operation, where n is the number of elements in the other parameter.

Applies to