HashSet<T> HashSet<T> HashSet<T> HashSet<T> Constructors

Definition

Überlädt

HashSet<T>() HashSet<T>() HashSet<T>()

Initialisiert eine neue, leere Instanz der HashSet<T>-Klasse, bei der für den Mengentyp der Standardgleichheitsvergleich verwendet wird.Initializes a new instance of the HashSet<T> class that is empty and uses the default equality comparer for the set type.

HashSet<T>(IEnumerable<T>) HashSet<T>(IEnumerable<T>) HashSet<T>(IEnumerable<T>) HashSet<T>(IEnumerable<T>)

Initialisiert eine neue Instanz der HashSet<T>-Klasse, die den Standardgleichheitsvergleich des Mengentyps verwendet, aus der angegebenen Auflistung kopierte Elemente enthält und über ausreichend Kapazität für die Anzahl von kopierten Elementen verfügt.Initializes a new instance of the HashSet<T> class that uses the default equality comparer for the set type, contains elements copied from the specified collection, and has sufficient capacity to accommodate the number of elements copied.

HashSet<T>(IEqualityComparer<T>) HashSet<T>(IEqualityComparer<T>) HashSet<T>(IEqualityComparer<T>) HashSet<T>(IEqualityComparer<T>)

Initialisiert eine neue, leere Instanz der HashSet<T>-Klasse, bei der für den Mengentyp der angegebene Gleichheitsvergleich verwendet wird.Initializes a new instance of the HashSet<T> class that is empty and uses the specified equality comparer for the set type.

HashSet<T>(Int32) HashSet<T>(Int32) HashSet<T>(Int32) HashSet<T>(Int32)

Initialisiert eine neue, leere Instanz der HashSet<T>-Klasse, hat jedoch Platz für capacity-Elemente reserviert und verwendet den Standardgleichheitsvergleich für den Mengentyp.Initializes a new instance of the HashSet<T> class that is empty, but has reserved space for capacity items and uses the default equality comparer for the set type.

HashSet<T>(IEnumerable<T>, IEqualityComparer<T>) HashSet<T>(IEnumerable<T>, IEqualityComparer<T>) HashSet<T>(IEnumerable<T>, IEqualityComparer<T>) HashSet<T>(IEnumerable<T>, IEqualityComparer<T>)

Initialisiert eine neue Instanz der HashSet<T>-Klasse, die den angegebenen Gleichheitsvergleich des Mengentyps verwendet, aus der angegebenen Auflistung kopierte Elemente enthält und über ausreichend Kapazität für die Anzahl der kopierten Elemente verfügt.Initializes a new instance of the HashSet<T> class that uses the specified equality comparer for the set type, contains elements copied from the specified collection, and has sufficient capacity to accommodate the number of elements copied.

HashSet<T>(Int32, IEqualityComparer<T>) HashSet<T>(Int32, IEqualityComparer<T>) HashSet<T>(Int32, IEqualityComparer<T>) HashSet<T>(Int32, IEqualityComparer<T>)

Initialisiert eine neue Instanz der HashSet<T>-Klasse, die für den Mengentyp den angegebenen Gleichheitsvergleich verwendet und ausreichende Kapazität zur Aufnahme von capacity-Elementen besitzt.Initializes a new instance of the HashSet<T> class that uses the specified equality comparer for the set type, and has sufficient capacity to accommodate capacity elements.

HashSet<T>(SerializationInfo, StreamingContext) HashSet<T>(SerializationInfo, StreamingContext) HashSet<T>(SerializationInfo, StreamingContext) HashSet<T>(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der HashSet<T>-Klasse mit serialisierten Daten.Initializes a new instance of the HashSet<T> class with serialized data.

HashSet<T>() HashSet<T>() HashSet<T>()

Initialisiert eine neue, leere Instanz der HashSet<T>-Klasse, bei der für den Mengentyp der Standardgleichheitsvergleich verwendet wird.Initializes a new instance of the HashSet<T> class that is empty and uses the default equality comparer for the set type.

public:
 HashSet();
public HashSet ();
Public Sub New ()

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie zwei HashSet<T> -Objekte erstellt und aufgefüllt werden.The following example demonstrates how to create and populate two HashSet<T> objects. Dieses Beispiel ist Teil eines größeren Beispiels, das für die UnionWith -Methode bereitgestellt wird.This example is part of a larger example provided for the UnionWith method.

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);
}

Hinweise

Die Kapazität eines HashSet<T> -Objekts ist die Anzahl der Elemente, die das-Objekt enthalten kann.The capacity of a HashSet<T> object is the number of elements that the object can hold. Die HashSet<T> Kapazität eines-Objekts wird automatisch erhöht, wenn dem-Objekt Elemente hinzugefügt werden.A HashSet<T> object's capacity automatically increases as elements are added to the object.

Dieser Konstruktor ist ein O (1)-Vorgang.This constructor is an O(1) operation.

HashSet<T>(IEnumerable<T>) HashSet<T>(IEnumerable<T>) HashSet<T>(IEnumerable<T>) HashSet<T>(IEnumerable<T>)

Initialisiert eine neue Instanz der HashSet<T>-Klasse, die den Standardgleichheitsvergleich des Mengentyps verwendet, aus der angegebenen Auflistung kopierte Elemente enthält und über ausreichend Kapazität für die Anzahl von kopierten Elementen verfügt.Initializes a new instance of the HashSet<T> class that uses the default equality comparer for the set type, contains elements copied from the specified collection, and has sufficient capacity to accommodate the number of elements copied.

public:
 HashSet(System::Collections::Generic::IEnumerable<T> ^ collection);
public HashSet (System.Collections.Generic.IEnumerable<T> collection);
new System.Collections.Generic.HashSet<'T> : seq<'T> -> System.Collections.Generic.HashSet<'T>
Public Sub New (collection As IEnumerable(Of T))

Parameter

collection
IEnumerable<T> IEnumerable<T> IEnumerable<T> IEnumerable<T>

Die Auflistung, deren Elemente in den neuen Satz kopiert werden.The collection whose elements are copied to the new set.

Ausnahmen

Beispiele

Im folgenden Beispiel wird gezeigt, wie eine HashSet<T> Auflistung aus einer vorhandenen Gruppe erstellt wird.The following example shows how to create a HashSet<T> collection from an existing set. In diesem Beispiel werden zwei Sätze mit gerade bzw. ungeraden Integern erstellt.In this example, two sets are created with even and odd integers, respectively. Anschließend wird HashSet<T> ein drittes Objekt aus dem geraden ganzzahligen Satz erstellt.A third HashSet<T> object is then created from the even integer set.

static void Main()
{
    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);

}
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

Hinweise

Die Kapazität eines HashSet<T> -Objekts ist die Anzahl der Elemente, die das-Objekt enthalten kann.The capacity of a HashSet<T> object is the number of elements that the object can hold. Die HashSet<T> Kapazität eines-Objekts wird automatisch erhöht, wenn dem-Objekt Elemente hinzugefügt werden.A HashSet<T> object's capacity automatically increases as elements are added to the object.

Wenn collection Duplikate enthält, enthält der Satz eines der einzelnen eindeutigen Elemente.If collection contains duplicates, the set will contain one of each unique element. Es wird keine Ausnahme ausgelöst.No exception will be thrown. Daher ist die Größe der resultierenden Menge nicht identisch mit der Größe von collection.Therefore, the size of the resulting set is not identical to the size of collection.

Dieser Konstruktor ist ein O (n)-Vorgang, n wobei die collection Anzahl der Elemente im-Parameter ist.This constructor is an O(n) operation, where n is the number of elements in the collection parameter.

HashSet<T>(IEqualityComparer<T>) HashSet<T>(IEqualityComparer<T>) HashSet<T>(IEqualityComparer<T>) HashSet<T>(IEqualityComparer<T>)

Initialisiert eine neue, leere Instanz der HashSet<T>-Klasse, bei der für den Mengentyp der angegebene Gleichheitsvergleich verwendet wird.Initializes a new instance of the HashSet<T> class that is empty and uses the specified equality comparer for the set type.

public:
 HashSet(System::Collections::Generic::IEqualityComparer<T> ^ comparer);
public HashSet (System.Collections.Generic.IEqualityComparer<T> comparer);
new System.Collections.Generic.HashSet<'T> : System.Collections.Generic.IEqualityComparer<'T> -> System.Collections.Generic.HashSet<'T>
Public Sub New (comparer As IEqualityComparer(Of T))

Parameter

comparer
IEqualityComparer<T> IEqualityComparer<T> IEqualityComparer<T> IEqualityComparer<T>

Die IEqualityComparer<T>-Implementierung, die zum Vergleichen von Werten in der Menge verwendet werden soll, oder null, wenn die EqualityComparer<T>-Standardimplementierung für diesen Mengentyp verwendet werden soll.The IEqualityComparer<T> implementation to use when comparing values in the set, or null to use the default EqualityComparer<T> implementation for the set type.

Hinweise

Die Kapazität eines HashSet<T> -Objekts ist die Anzahl der Elemente, die das-Objekt enthalten kann.The capacity of a HashSet<T> object is the number of elements that the object can hold. Die HashSet<T> Kapazität eines-Objekts wird automatisch erhöht, wenn dem-Objekt Elemente hinzugefügt werden.A HashSet<T> object's capacity automatically increases as elements are added to the object.

Dieser Konstruktor ist ein O (1)-Vorgang.This constructor is an O(1) operation.

HashSet<T>(Int32) HashSet<T>(Int32) HashSet<T>(Int32) HashSet<T>(Int32)

Initialisiert eine neue, leere Instanz der HashSet<T>-Klasse, hat jedoch Platz für capacity-Elemente reserviert und verwendet den Standardgleichheitsvergleich für den Mengentyp.Initializes a new instance of the HashSet<T> class that is empty, but has reserved space for capacity items and uses the default equality comparer for the set type.

public:
 HashSet(int capacity);
public HashSet (int capacity);
new System.Collections.Generic.HashSet<'T> : int -> System.Collections.Generic.HashSet<'T>
Public Sub New (capacity As Integer)

Parameter

capacity
Int32 Int32 Int32 Int32

Die Anfangsgröße von HashSet<T>.The initial size of the HashSet<T>

Hinweise

Da die Größenänderung relativ aufwendig ist (das wiederholen erfordert), wird versucht, die Größe der Größe zu minimieren, indem die anfängliche Kapazität basierend auf dem capacityWert von festgelegt wird.Since resizes are relatively expensive (require rehashing), this attempts to minimize the need to resize by setting the initial capacity based on the value of the capacity.

HashSet<T>(IEnumerable<T>, IEqualityComparer<T>) HashSet<T>(IEnumerable<T>, IEqualityComparer<T>) HashSet<T>(IEnumerable<T>, IEqualityComparer<T>) HashSet<T>(IEnumerable<T>, IEqualityComparer<T>)

Initialisiert eine neue Instanz der HashSet<T>-Klasse, die den angegebenen Gleichheitsvergleich des Mengentyps verwendet, aus der angegebenen Auflistung kopierte Elemente enthält und über ausreichend Kapazität für die Anzahl der kopierten Elemente verfügt.Initializes a new instance of the HashSet<T> class that uses the specified equality comparer for the set type, contains elements copied from the specified collection, and has sufficient capacity to accommodate the number of elements copied.

public:
 HashSet(System::Collections::Generic::IEnumerable<T> ^ collection, System::Collections::Generic::IEqualityComparer<T> ^ comparer);
public HashSet (System.Collections.Generic.IEnumerable<T> collection, System.Collections.Generic.IEqualityComparer<T> comparer);
new System.Collections.Generic.HashSet<'T> : seq<'T> * System.Collections.Generic.IEqualityComparer<'T> -> System.Collections.Generic.HashSet<'T>
Public Sub New (collection As IEnumerable(Of T), comparer As IEqualityComparer(Of T))

Parameter

collection
IEnumerable<T> IEnumerable<T> IEnumerable<T> IEnumerable<T>

Die Auflistung, deren Elemente in den neuen Satz kopiert werden.The collection whose elements are copied to the new set.

comparer
IEqualityComparer<T> IEqualityComparer<T> IEqualityComparer<T> IEqualityComparer<T>

Die IEqualityComparer<T>-Implementierung, die zum Vergleichen von Werten in der Menge verwendet werden soll, oder null, wenn die EqualityComparer<T>-Standardimplementierung für diesen Mengentyp verwendet werden soll.The IEqualityComparer<T> implementation to use when comparing values in the set, or null to use the default EqualityComparer<T> implementation for the set type.

Ausnahmen

Beispiele

Im folgenden Beispiel wird ein bereit IEqualityComparer<T> gestellter verwendet, um Vergleiche der Elemente einer HashSet<T> Auflistung von Fahrzeugtypen ohne Beachtung der Groß-/Kleinschreibung zu ermöglichen.The following example uses a supplied IEqualityComparer<T> to allow case-insensitive comparisons on the elements of a HashSet<T> collection of vehicle types.

#using <System.Core.dll>

using namespace System;
using namespace System::Collections::Generic;

ref class Program
{
public:
    static void Main()
    {
        HashSet<String^> ^allVehicles = gcnew HashSet<String^>(StringComparer::OrdinalIgnoreCase);
        List<String^>^ someVehicles = gcnew List<String^>();

        someVehicles->Add("Planes");
        someVehicles->Add("Trains");
        someVehicles->Add("Automobiles");

        // Add in the vehicles contained in the someVehicles list.
        allVehicles->UnionWith(someVehicles);

        Console::WriteLine("The current HashSet contains:\n");
        for each (String^ vehicle in allVehicles)
        {
            Console::WriteLine(vehicle);
        }

        allVehicles->Add("Ships");
        allVehicles->Add("Motorcycles");
        allVehicles->Add("Rockets");
        allVehicles->Add("Helicopters");
        allVehicles->Add("Submarines");

        Console::WriteLine("\nThe updated HashSet contains:\n");
        for each (String^ vehicle in allVehicles)
        {
            Console::WriteLine(vehicle);
        }

        // Verify that the 'All Vehicles' set contains at least the vehicles in
        // the 'Some Vehicles' list.
        if (allVehicles->IsSupersetOf(someVehicles))
        {
            Console::Write("\nThe 'All' vehicles set contains everything in ");
            Console::WriteLine("'Some' vechicles list.");
        }

        // Check for Rockets. Here the OrdinalIgnoreCase comparer will compare
        // true for the mixed-case vehicle type.
        if (allVehicles->Contains("roCKeTs"))
        {
            Console::WriteLine("\nThe 'All' vehicles set contains 'roCKeTs'");
        }

        allVehicles->ExceptWith(someVehicles);
        Console::WriteLine("\nThe excepted HashSet contains:\n");
        for each (String^ vehicle in allVehicles)
        {
            Console::WriteLine(vehicle);
        }

        // Remove all the vehicles that are not 'super cool'.
        allVehicles->RemoveWhere(gcnew Predicate<String^>(&isNotSuperCool));

        Console::WriteLine("\nThe super cool vehicles are:\n");
        for each (String^ vehicle in allVehicles)
        {
            Console::WriteLine(vehicle);
        }
    }

private:
    // Predicate to determine vehicle 'coolness'.
    static bool isNotSuperCool(String^ vehicle)
    {
        bool superCool = (vehicle == "Helicopters") || (vehicle == "Motorcycles");

        return !superCool;
    }
};

int main()
{
    Program::Main();
}

// The program writes the following output to the console::
//
// The current HashSet contains:
//
// Planes
// Trains
// Automobiles
//
// The updated HashSet contains:
//
// Planes
// Trains
// Automobiles
// Ships
// Motorcycles
// Rockets
// Helicopters
// Submarines
//
// The 'All' vehicles set contains everything in 'Some' vechicles list.
//
// The 'All' vehicles set contains 'roCKeTs'
//
// The excepted HashSet contains:
//
// Ships
// Motorcycles
// Rockets
// Helicopters
// Submarines
//
// The super cool vehicles are:
//
// Motorcycles
// Helicopters
using System;
using System.Collections.Generic;

class Program
{
    public static void Main()
    {
        HashSet<string> allVehicles = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
        List<string> someVehicles = new List<string>();

        someVehicles.Add("Planes");
        someVehicles.Add("Trains");
        someVehicles.Add("Automobiles");

        // Add in the vehicles contained in the someVehicles list.
        allVehicles.UnionWith(someVehicles);

        Console.WriteLine("The current HashSet contains:\n");
        foreach (string vehicle in allVehicles)
        {
            Console.WriteLine(vehicle);
        }

        allVehicles.Add("Ships");
        allVehicles.Add("Motorcycles");
        allVehicles.Add("Rockets");
        allVehicles.Add("Helicopters");
        allVehicles.Add("Submarines");

        Console.WriteLine("\nThe updated HashSet contains:\n");
        foreach (string vehicle in allVehicles)
        {
            Console.WriteLine(vehicle);
        }

        // Verify that the 'All Vehicles' set contains at least the vehicles in
        // the 'Some Vehicles' list.
        if (allVehicles.IsSupersetOf(someVehicles))
        {
            Console.Write("\nThe 'All' vehicles set contains everything in ");
            Console.WriteLine("'Some' vechicles list.");
        }

        // Check for Rockets. Here the OrdinalIgnoreCase comparer will compare
        // true for the mixed-case vehicle type.
        if (allVehicles.Contains("roCKeTs"))
        {
            Console.WriteLine("\nThe 'All' vehicles set contains 'roCKeTs'");
        }

        allVehicles.ExceptWith(someVehicles);
        Console.WriteLine("\nThe excepted HashSet contains:\n");
        foreach (string vehicle in allVehicles)
        {
            Console.WriteLine(vehicle);
        }

        // Remove all the vehicles that are not 'super cool'.
        allVehicles.RemoveWhere(isNotSuperCool);

        Console.WriteLine("\nThe super cool vehicles are:\n");
        foreach (string vehicle in allVehicles)
        {
            Console.WriteLine(vehicle);
        }
    }

    // Predicate to determine vehicle 'coolness'.
    private static bool isNotSuperCool(string vehicle)
    {
        bool superCool = (vehicle == "Helicopters") || (vehicle == "Motorcycles");

        return !superCool;
    }
}

// The program writes the following output to the console.
//
// The current HashSet contains:
//
// Planes
// Trains
// Automobiles
//
// The updated HashSet contains:
//
// Planes
// Trains
// Automobiles
// Ships
// Motorcycles
// Rockets
// Helicopters
// Submarines
//
// The 'All' vehicles set contains everything in 'Some' vechicles list.
//
// The 'All' vehicles set contains 'roCKeTs'
//
// The excepted HashSet contains:
//
// Ships
// Motorcycles
// Rockets
// Helicopters
// Submarines
//
// The super cool vehicles are:
//
// Motorcycles
// Helicopters
Imports System.Collections.Generic

Class Program
    Public Shared Sub Main()
        Dim allVehicles As New HashSet(Of String)(StringComparer.OrdinalIgnoreCase)
        Dim someVehicles As New List(Of String)()

        someVehicles.Add("Planes")
        someVehicles.Add("Trains")
        someVehicles.Add("Automobiles")

        ' Add in the vehicles contained in the someVehicles list.
        allVehicles.UnionWith(someVehicles)

        Console.WriteLine("The current HashSet contains:" + vbNewLine)
        For Each vehicle As String In allVehicles
            Console.WriteLine(vehicle)
        Next vehicle

        allVehicles.Add("Ships")
        allVehicles.Add("Motorcycles")
        allVehicles.Add("Rockets")
        allVehicles.Add("Helicopters")
        allVehicles.Add("Submarines")

        Console.WriteLine(vbNewLine + "The updated HashSet contains:" + vbNewLine)
        For Each vehicle As String In allVehicles
            Console.WriteLine(vehicle)
        Next vehicle

        ' Verify that the 'All Vehicles' set contains at least the vehicles in
        ' the 'Some Vehicles' list.
        If allVehicles.IsSupersetOf(someVehicles) Then
            Console.Write(vbNewLine + "The 'All' vehicles set contains everything in ")
            Console.WriteLine("'Some' vechicles list.")
        End If

        ' Check for Rockets. Here the OrdinalIgnoreCase comparer will compare
        ' True for the mixed-case vehicle type.
        If allVehicles.Contains("roCKeTs") Then
            Console.WriteLine(vbNewLine + "The 'All' vehicles set contains 'roCKeTs'")
        End If

        allVehicles.ExceptWith(someVehicles)
        Console.WriteLine(vbNewLine + "The excepted HashSet contains:" + vbNewLine)
        For Each vehicle As String In allVehicles
            Console.WriteLine(vehicle)
        Next vehicle

        ' Remove all the vehicles that are not 'super cool'.
        allVehicles.RemoveWhere(AddressOf isNotSuperCool)

        Console.WriteLine(vbNewLine + "The super cool vehicles are:" + vbNewLine)
        For Each vehicle As String In allVehicles
            Console.WriteLine(vehicle)
        Next vehicle
    End Sub

    ' Predicate to determine vehicle 'coolness'.
    Private Shared Function isNotSuperCool(vehicle As String) As Boolean
        Dim notSuperCool As Boolean = _
            (vehicle <> "Helicopters") And (vehicle <> "Motorcycles")

        Return notSuperCool
    End Function
End Class

'
' The program writes the following output to the console.
'
' The current HashSet contains:
'
' Planes
' Trains
' Automobiles
'
' The updated HashSet contains:
'
' Planes
' Trains
' Automobiles
' Ships
' Motorcycles
' Rockets
' Helicopters
' Submarines
'
' The 'All' vehicles set contains everything in 'Some' vechicles list.
'
' The 'All' vehicles set contains 'roCKeTs'
'
' The excepted HashSet contains:
'
' Ships
' Motorcycles
' Rockets
' Helicopters
' Submarines
'
' The super cool vehicles are:
'
' Motorcycles
' Helicopters

Hinweise

Die Kapazität eines HashSet<T> -Objekts ist die Anzahl der Elemente, die das-Objekt enthalten kann.The capacity of a HashSet<T> object is the number of elements that the object can hold. Die HashSet<T> Kapazität eines-Objekts wird automatisch erhöht, wenn dem-Objekt Elemente hinzugefügt werden.A HashSet<T> object's capacity automatically increases as elements are added to the object.

Wenn collection Duplikate enthält, enthält der Satz eines der einzelnen eindeutigen Elemente.If collection contains duplicates, the set will contain one of each unique element. Es wird keine Ausnahme ausgelöst.No exception will be thrown. Daher ist die Größe der resultierenden Menge nicht identisch mit der Größe von collection.Therefore, the size of the resulting set is not identical to the size of collection.

Dieser Konstruktor ist ein O (n)-Vorgang, n wobei die collection Anzahl der Elemente im-Parameter ist.This constructor is an O(n) operation, where n is the number of elements in the collection parameter.

HashSet<T>(Int32, IEqualityComparer<T>) HashSet<T>(Int32, IEqualityComparer<T>) HashSet<T>(Int32, IEqualityComparer<T>) HashSet<T>(Int32, IEqualityComparer<T>)

Initialisiert eine neue Instanz der HashSet<T>-Klasse, die für den Mengentyp den angegebenen Gleichheitsvergleich verwendet und ausreichende Kapazität zur Aufnahme von capacity-Elementen besitzt.Initializes a new instance of the HashSet<T> class that uses the specified equality comparer for the set type, and has sufficient capacity to accommodate capacity elements.

public:
 HashSet(int capacity, System::Collections::Generic::IEqualityComparer<T> ^ comparer);
public HashSet (int capacity, System.Collections.Generic.IEqualityComparer<T> comparer);
new System.Collections.Generic.HashSet<'T> : int * System.Collections.Generic.IEqualityComparer<'T> -> System.Collections.Generic.HashSet<'T>
Public Sub New (capacity As Integer, comparer As IEqualityComparer(Of T))

Parameter

capacity
Int32 Int32 Int32 Int32

Die Anfangsgröße von HashSet<T>.The initial size of the HashSet<T>

comparer
IEqualityComparer<T> IEqualityComparer<T> IEqualityComparer<T> IEqualityComparer<T>

Die IEqualityComparer<T>-Implementierung, die zum Vergleichen von Werten in der Menge verwendet werden soll, oder NULL („Nothing“ in Visual Basic), wenn die IEqualityComparer<T>-Standardimplementierung für diesen Mengentyp verwendet werden soll.The IEqualityComparer<T> implementation to use when comparing values in the set, or null (Nothing in Visual Basic) to use the default IEqualityComparer<T> implementation for the set type.

Hinweise

Da die Größenänderung relativ aufwendig ist (das wiederholen erfordert), wird versucht, die Größe der Größe zu minimieren, indem die anfängliche Kapazität basierend auf dem capacityWert von festgelegt wird.Since resizes are relatively expensive (require rehashing), this attempts to minimize the need to resize by setting the initial capacity based on the value of the capacity.

HashSet<T>(SerializationInfo, StreamingContext) HashSet<T>(SerializationInfo, StreamingContext) HashSet<T>(SerializationInfo, StreamingContext) HashSet<T>(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der HashSet<T>-Klasse mit serialisierten Daten.Initializes a new instance of the HashSet<T> class with serialized data.

protected:
 HashSet(System::Runtime::Serialization::SerializationInfo ^ info, System::Runtime::Serialization::StreamingContext context);
protected HashSet (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
new System.Collections.Generic.HashSet<'T> : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> System.Collections.Generic.HashSet<'T>
Protected Sub New (info As SerializationInfo, context As StreamingContext)

Parameter

info
SerializationInfo SerializationInfo SerializationInfo SerializationInfo

Ein SerializationInfo-Objekt mit den zum Serialisieren des HashSet<T>-Objekts erforderlichen Informationen.A SerializationInfo object that contains the information required to serialize the HashSet<T> object.

context
StreamingContext StreamingContext StreamingContext StreamingContext

Eine StreamingContext-Struktur, die die Quelle und das Ziel des serialisierten Streams enthält, der dem HashSet<T>-Objekt zugeordnet ist.A StreamingContext structure that contains the source and destination of the serialized stream associated with the HashSet<T> object.

Hinweise

Dieser Konstruktor wird während der Deserialisierung aufgerufen, um ein Objekt, das über einen Stream übertragen wird, wiederherzustellen.This constructor is called during deserialization to reconstitute an object that is transmitted over a stream. Weitere Informationen finden Sie unter XML- und SOAP-Serialisierung.For more information, see XML and SOAP Serialization.

Gilt für: