ConcurrentDictionary<TKey,TValue> ConcurrentDictionary<TKey,TValue> ConcurrentDictionary<TKey,TValue> ConcurrentDictionary<TKey,TValue> Class

Definition

Stellt eine threadsichere Auflistung von Schlüssel-Wert-Paaren dar, auf die durch mehrere Threads gleichzeitig zugegriffen werden kann.Represents a thread-safe collection of key/value pairs that can be accessed by multiple threads concurrently.

generic <typename TKey, typename TValue>
public ref class ConcurrentDictionary : System::Collections::Generic::ICollection<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IDictionary<TKey, TValue>, System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IReadOnlyCollection<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IReadOnlyDictionary<TKey, TValue>, System::Collections::IDictionary
[System.Runtime.InteropServices.ComVisible(false)]
[System.Serializable]
public class ConcurrentDictionary<TKey,TValue> : System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IDictionary<TKey,TValue>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IReadOnlyCollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>, System.Collections.IDictionary
type ConcurrentDictionary<'Key, 'Value> = class
    interface IDictionary<'Key, 'Value>
    interface IDictionary
    interface IReadOnlyDictionary<'Key, 'Value>
    interface ICollection<KeyValuePair<'Key, 'Value>>
    interface seq<KeyValuePair<'Key, 'Value>>
    interface IEnumerable
    interface ICollection
    interface IReadOnlyCollection<KeyValuePair<'Key, 'Value>>
Public Class ConcurrentDictionary(Of TKey, TValue)
Implements ICollection(Of KeyValuePair(Of TKey, TValue)), IDictionary, IDictionary(Of TKey, TValue), IEnumerable(Of KeyValuePair(Of TKey, TValue)), IReadOnlyCollection(Of KeyValuePair(Of TKey, TValue)), IReadOnlyDictionary(Of TKey, TValue)

Typparameter

TKey

Der Typ der Schlüssel im Wörterbuch.The type of the keys in the dictionary.

TValue

Der Typ der Werte im Wörterbuch.The type of the values in the dictionary.

Vererbung
ConcurrentDictionary<TKey,TValue>ConcurrentDictionary<TKey,TValue>ConcurrentDictionary<TKey,TValue>ConcurrentDictionary<TKey,TValue>
Attribute
Implementiert

Beispiele

Das folgende Beispiel zeigt, wie Sie erstellen eine ConcurrentDictionary<TKey,TValue> Objekt.The following example shows how to construct a ConcurrentDictionary<TKey,TValue> object.


class CD_Ctor
{
        // Demonstrates:
        //      ConcurrentDictionary<TKey, TValue> ctor(concurrencyLevel, initialCapacity)
        //      ConcurrentDictionary<TKey, TValue>[TKey]
        static void Main()
        {
            // We know how many items we want to insert into the ConcurrentDictionary.
            // So set the initial capacity to some prime number above that, to ensure that
            // the ConcurrentDictionary does not need to be resized while initializing it.
            int NUMITEMS = 64;
            int initialCapacity = 101;

            // The higher the concurrencyLevel, the higher the theoretical number of operations
            // that could be performed concurrently on the ConcurrentDictionary.  However, global
            // operations like resizing the dictionary take longer as the concurrencyLevel rises. 
            // For the purposes of this example, we'll compromise at numCores * 2.
            int numProcs = Environment.ProcessorCount;
            int concurrencyLevel = numProcs * 2;

            // Construct the dictionary with the desired concurrencyLevel and initialCapacity
            ConcurrentDictionary<int, int> cd = new ConcurrentDictionary<int, int>(concurrencyLevel, initialCapacity);

            // Initialize the dictionary
            for (int i = 0; i < NUMITEMS; i++) cd[i] = i * i;

            Console.WriteLine("The square of 23 is {0} (should be {1})", cd[23], 23 * 23);
        }
}
Imports System.Collections.Concurrent
Imports System.Threading.Tasks
Class CD_Ctor
    ' Demonstrates:
    ' ConcurrentDictionary<TKey, TValue> ctor(concurrencyLevel, initialCapacity)
    ' ConcurrentDictionary<TKey, TValue>[TKey]
    Shared Sub Main()
        ' We know how many items we want to insert into the ConcurrentDictionary.
        ' So set the initial capacity to some prime number above that, to ensure that
        ' the ConcurrentDictionary does not need to be resized while initializing it.
        Dim NUMITEMS As Integer = 64
        Dim initialCapacity As Integer = 101

        ' The higher the concurrencyLevel, the higher the theoretical number of operations
        ' that could be performed concurrently on the ConcurrentDictionary. However, global
        ' operations like resizing the dictionary take longer as the concurrencyLevel rises. 
        ' For the purposes of this example, we'll compromise at numCores * 2.
        Dim numProcs As Integer = Environment.ProcessorCount
        Dim concurrencyLevel As Integer = numProcs * 2

        ' Construct the dictionary with the desired concurrencyLevel and initialCapacity
        Dim cd As New ConcurrentDictionary(Of Integer, Integer)(concurrencyLevel, initialCapacity)

        ' Initialize the dictionary
        For i As Integer = 0 To NUMITEMS - 1
            cd(i) = i * i
        Next

        Console.WriteLine("The square of 23 is {0} (should be {1})", cd(23), 23 * 23)
    End Sub
End Class

Hinweise

Für sehr große ConcurrentDictionary<TKey,TValue> Objekte aufweist, können Sie die maximale Arraygröße zu 2 Gigabyte (GB) auf einem 64-Bit-System erhöhen, durch Festlegen der <gcAllowVeryLargeObjects> zu Konfigurationselement true in der Runtime-Umgebung.For very large ConcurrentDictionary<TKey,TValue> objects, you can increase the maximum array size to 2 gigabytes (GB) on a 64-bit system by setting the <gcAllowVeryLargeObjects> configuration element to true in the run-time environment.

Hinweis

ConcurrentDictionary<TKey,TValue> implementiert die IReadOnlyCollection<T> und IReadOnlyDictionary<TKey,TValue> Schnittstellen, die beginnend mit der .NET Framework 4.6.NET Framework 4.6; in früheren Versionen von .NET Framework, die ConcurrentDictionary<TKey,TValue> Klasse implementiert diese Schnittstellen nicht.ConcurrentDictionary<TKey,TValue> implements the IReadOnlyCollection<T> and IReadOnlyDictionary<TKey,TValue> interfaces starting with the .NET Framework 4.6.NET Framework 4.6; in previous versions of the .NET Framework, the ConcurrentDictionary<TKey,TValue> class did not implement these interfaces.

Wie die System.Collections.Generic.Dictionary<TKey,TValue> -Klasse, ConcurrentDictionary<TKey,TValue> implementiert die IDictionary<TKey,TValue> Schnittstelle.Like the System.Collections.Generic.Dictionary<TKey,TValue> class, ConcurrentDictionary<TKey,TValue> implements the IDictionary<TKey,TValue> interface. Darüber hinaus ConcurrentDictionary<TKey,TValue> hinzufügen oder Aktualisieren von Schlüssel/Wert-Paare im Wörterbuch vorhanden ist, stellt mehrere Methoden bereit, wie in der folgenden Tabelle beschrieben.In addition, ConcurrentDictionary<TKey,TValue> provides several methods for adding or updating key/value pairs in the dictionary, as described in the following table.

AufgabeTo do this Verwenden Sie diese MethodeUse this method Hinweise zur VerwendungUsage notes
Fügen Sie einen neuen Schlüssel auf das Wörterbuch, wenn sie nicht bereits im Wörterbuch vorhandenAdd a new key to the dictionary, if it doesn't already exist in the dictionary TryAdd Diese Methode fügt das angegebene Schlüssel-Wert-Paar an, wenn der Schlüssel im Wörterbuch nicht derzeit vorhanden ist.This method adds the specified key/value pair, if the key doesn't currently exist in the dictionary. Gibt die Methode zurück true oder false abhängig davon, ob das neue-Paar hinzugefügt wurde.The method returns true or false depending on whether the new pair was added.
Aktualisieren Sie den Wert für einen vorhandenen Schlüssel im Wörterbuch vorhanden ist, ein, wenn dieser Schlüssel einen konkreten Wert hat.Update the value for an existing key in the dictionary, if that key has a specific value TryUpdate Diese Methode überprüft, ob der Schlüssel einen angegebenen Wert verfügt, und wenn es der Fall ist, den Schlüssel durch einen neuen Wert aktualisiert.This method checks whether the key has a specified value, and if it does, updates the key with a new value. Es ähnelt der CompareExchange -Methode, mit dem Unterschied, dass die It für Wörterbuchelemente verwendete des.It's similar to the CompareExchange method, except that it's used for dictionary elements.
Store Schlüssel/Wert-Paar im Wörterbuch bedingungslos und überschreibt den Wert der einen Schlüssel, der bereits vorhanden istStore a key/value pair in the dictionary unconditionally, and overwrite the value of a key that already exists Der Indexer Setter: dictionary[key] = newValueThe indexer's setter: dictionary[key] = newValue
Fügen Sie ein Schlüssel/Wert-Paar zum Wörterbuch hinzu oder aktualisieren Sie den Wert für den Schlüssel, die basierend auf den vorhandenen Wert des Schlüssels, wenn der Schlüssel bereits vorhanden ist,Add a key/value pair to the dictionary, or if the key already exists, update the value for the key based on the key's existing value AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>)

- oder - -or-

AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>)
AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>) der Schlüssel und zwei Delegaten akzeptiert.AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>) accepts the key and two delegates. Der erste Delegat verwendet, wenn der Schlüssel nicht im Wörterbuch vorhanden ist; den Schlüssel akzeptiert und gibt den Wert zurück, der für den Schlüssel hinzugefügt werden soll.It uses the first delegate if the key doesn't exist in the dictionary; it accepts the key and returns the value that should be added for the key. Der zweite Delegat verwendet, wenn der Schlüssel vorhanden ist; der Schlüssel und seinen aktuellen Wert akzeptiert, und wird der neuen Wert, der für den Schlüssel festgelegt werden soll.It uses the second delegate if the key does exist; it accepts the key and its current value, and it returns the new value that should be set for the key.

AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>) akzeptiert den Schlüssel, einen Wert hinzufügen und der Updatedelegat.AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>) accepts the key, a value to add, and the update delegate. Dies ist identisch mit der vorherigen Überladung ist identisch, verwenden sie einen Delegaten nicht, einen Schlüssel hinzuzufügen.This is the same as the previous overload, except that it doesn't use a delegate to add a key.
Rufen Sie den Wert für einen Schlüssel im Wörterbuch vorhanden ist, den Wert zum Wörterbuch hinzufügen und sie zurückgegeben, wenn der Schlüssel nicht vorhandenGet the value for a key in the dictionary, adding the value to the dictionary and returning it if the key doesn't exist GetOrAdd(TKey, TValue)

- oder - -or-

GetOrAdd(TKey, Func<TKey,TValue>)
Diese Überladungen geben die verzögerte Initialisierung für Schlüssel/Wert-Paar im Wörterbuch vorhanden ist, den Wert hinzufügen, nur dann, wenn er nicht vorhanden ist.These overloads provide lazy initialization for a key/value pair in the dictionary, adding the value only if it's not there.

GetOrAdd(TKey, TValue) hat der Wert hinzugefügt werden, wenn der Schlüssel nicht vorhanden.GetOrAdd(TKey, TValue) takes the value to be added if the key doesn't exist.

GetOrAdd(TKey, Func<TKey,TValue>) wird ein Delegat, der den Wert erzeugt, wenn der Schlüssel nicht vorhanden.GetOrAdd(TKey, Func<TKey,TValue>) takes a delegate that will generate the value if the key doesn't exist.

Alle diese Vorgänge sind atomar und threadsicher sind im Hinblick auf alle anderen Vorgänge in der ConcurrentDictionary<TKey,TValue> Klasse.All these operations are atomic and are thread-safe with regards to all other operations on the ConcurrentDictionary<TKey,TValue> class. Die einzigen Ausnahmen sind die Methoden, die ein Delegat, d. h. akzeptieren AddOrUpdate und GetOrAdd.The only exceptions are the methods that accept a delegate, that is, AddOrUpdate and GetOrAdd. Für Änderungen und Schreibvorgänge auf das Wörterbuch ConcurrentDictionary<TKey,TValue> verwendet differenzierte sperren, um Threadsicherheit zu gewährleisten.For modifications and write operations to the dictionary, ConcurrentDictionary<TKey,TValue> uses fine-grained locking to ensure thread safety. (Lesevorgänge im Wörterbuch sind in einer Weise ohne Sperren ausgeführt.) Allerdings werden die Delegaten für diese Methoden aufgerufen, außerhalb der Sperren, die Probleme zu vermeiden, die Ausführung von unbekanntem Code unter einer Sperre auftreten können.(Read operations on the dictionary are performed in a lock-free manner.) However, delegates for these methods are called outside the locks to avoid the problems that can arise from executing unknown code under a lock. Aus diesem Grund ist der Code, der ausgeführt werden, indem Sie diesen Delegaten nicht unterliegt die Unteilbarkeit des Vorgangs.Therefore, the code executed by these delegates is not subject to the atomicity of the operation.

Konstruktoren

ConcurrentDictionary<TKey,TValue>() ConcurrentDictionary<TKey,TValue>() ConcurrentDictionary<TKey,TValue>() ConcurrentDictionary<TKey,TValue>()

Initialisiert eine neue, leere Instanz der ConcurrentDictionary<TKey,TValue>-Klasse mit der Standardparallelitätsebene und der Standardanfangskapazität, wobei der Standardvergleich für den Schlüsseltyp verwendet wird.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type.

ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>)

Initialisiert eine neue Instanz der ConcurrentDictionary<TKey,TValue>-Klasse, die aus dem angegebenen IEnumerable<T> kopierte Elemente enthält, die Standardparallelitätsebene und Standardanfangskapazität aufweist und den Standardvergleich für den Schlüsseltyp verwendet.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that contains elements copied from the specified IEnumerable<T>, has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type.

ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)

Initialisiert eine neue Instanz der ConcurrentDictionary<TKey,TValue>-Klasse, die aus dem angegebenen IEnumerable kopierte Elemente enthält, die Standardparallelitätsebene und Standardanfangskapazität aufweist und den angegebenen IEqualityComparer<T> verwendet.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that contains elements copied from the specified IEnumerable has the default concurrency level, has the default initial capacity, and uses the specified IEqualityComparer<T>.

ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>)

Initialisiert eine neue, leere Instanz der ConcurrentDictionary<TKey,TValue>-Klasse mit der Standardparallelitätsebene und -Kapazität und dem angegebenen IEqualityComparer<T>.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the default concurrency level and capacity, and uses the specified IEqualityComparer<T>.

ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)

Initialisiert eine neue Instanz der ConcurrentDictionary<TKey,TValue>-Klasse, die aus dem angegebenen IEnumerable kopierte Elemente enthält und den angegebenen IEqualityComparer<T> verwendet.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that contains elements copied from the specified IEnumerable, and uses the specified IEqualityComparer<T>.

ConcurrentDictionary<TKey,TValue>(Int32, Int32) ConcurrentDictionary<TKey,TValue>(Int32, Int32) ConcurrentDictionary<TKey,TValue>(Int32, Int32) ConcurrentDictionary<TKey,TValue>(Int32, Int32)

Initialisiert eine neue, leere Instanz der ConcurrentDictionary<TKey,TValue>-Klasse mit der angegebenen Parallelitätsebene und Kapazität, wobei der Standardvergleich für den Schlüsseltyp verwendet wird.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the specified concurrency level and capacity, and uses the default comparer for the key type.

ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>)

Initialisiert eine neue, leere Instanz der ConcurrentDictionary<TKey,TValue>-Klasse mit der angegebenen Parallelitätsebene und Anfangskapazität und dem angegebenen IEqualityComparer<T>.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the specified concurrency level, has the specified initial capacity, and uses the specified IEqualityComparer<T>.

Eigenschaften

Count Count Count Count

Ruft die Anzahl der Schlüssel-Wert-Paare im ConcurrentDictionary<TKey,TValue> ab.Gets the number of key/value pairs contained in the ConcurrentDictionary<TKey,TValue>.

IsEmpty IsEmpty IsEmpty IsEmpty

Ruft einen Wert ab, der angibt, ob ConcurrentDictionary<TKey,TValue> leer ist.Gets a value that indicates whether the ConcurrentDictionary<TKey,TValue> is empty.

Item[TKey] Item[TKey] Item[TKey] Item[TKey]

Ruft den Wert ab, der dem angegebenen Schlüssel zugeordnet ist, oder legt diesen fest.Gets or sets the value associated with the specified key.

Keys Keys Keys Keys

Ruft eine Auflistung ab, die die Schlüssel im Dictionary<TKey,TValue> enthält.Gets a collection containing the keys in the Dictionary<TKey,TValue>.

Values Values Values Values

Ruft eine Auflistung ab, die die Werte im Dictionary<TKey,TValue> enthält.Gets a collection that contains the values in the Dictionary<TKey,TValue>.

Methoden

AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>) AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>) AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>) AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>)

Verwendet die angegebene Funktionen, um dem ConcurrentDictionary<TKey,TValue> ein Schlüssel-Wert-Paar hinzuzufügen, wenn der Schlüssel nicht bereits vorhanden ist, oder um ein Schlüssel-Wert-Paar im ConcurrentDictionary<TKey,TValue> zu aktualisieren, wenn der Schlüssel bereits vorhanden ist.Uses the specified functions to add a key/value pair to the ConcurrentDictionary<TKey,TValue> if the key does not already exist, or to update a key/value pair in the ConcurrentDictionary<TKey,TValue> if the key already exists.

AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>) AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>) AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>) AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>)

Fügt dem ConcurrentDictionary<TKey,TValue> ein Schlüssel-Wert-Paar hinzu, wenn der Schlüssel nicht bereits vorhanden ist, oder aktualisiert ein Schlüssel-Wert-Paar im ConcurrentDictionary<TKey,TValue> mithilfe der angegebenen Funktion, wenn der Schlüssel bereits vorhanden ist.Adds a key/value pair to the ConcurrentDictionary<TKey,TValue> if the key does not already exist, or updates a key/value pair in the ConcurrentDictionary<TKey,TValue> by using the specified function if the key already exists.

AddOrUpdate<TArg>(TKey, Func<TKey,TArg,TValue>, Func<TKey,TValue,TArg,TValue>, TArg) AddOrUpdate<TArg>(TKey, Func<TKey,TArg,TValue>, Func<TKey,TValue,TArg,TValue>, TArg) AddOrUpdate<TArg>(TKey, Func<TKey,TArg,TValue>, Func<TKey,TValue,TArg,TValue>, TArg) AddOrUpdate<TArg>(TKey, Func<TKey,TArg,TValue>, Func<TKey,TValue,TArg,TValue>, TArg)

Verwendet die angegebene Funktionen und das angegebene Argument, um dem ConcurrentDictionary<TKey,TValue> ein Schlüssel-Wert-Paar hinzuzufügen, wenn der Schlüssel nicht bereits vorhanden ist, oder um ein Schlüssel-Wert-Paar im ConcurrentDictionary<TKey,TValue> zu aktualisieren, wenn der Schlüssel bereits vorhanden ist.Uses the specified functions and argument to add a key/value pair to the ConcurrentDictionary<TKey,TValue> if the key does not already exist, or to update a key/value pair in the ConcurrentDictionary<TKey,TValue> if the key already exists.

Clear() Clear() Clear() Clear()

Entfernt sämtliche Schlüssel und Werte aus dem ConcurrentDictionary<TKey,TValue>.Removes all keys and values from the ConcurrentDictionary<TKey,TValue>.

ContainsKey(TKey) ContainsKey(TKey) ContainsKey(TKey) ContainsKey(TKey)

Bestimmt, ob das ConcurrentDictionary<TKey,TValue> den angegebenen Schlüssel enthält.Determines whether the ConcurrentDictionary<TKey,TValue> contains the specified key.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Gibt einen Enumerator zurück, der die ConcurrentDictionary<TKey,TValue> durchläuft.Returns an enumerator that iterates through the ConcurrentDictionary<TKey,TValue>.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetOrAdd(TKey, Func<TKey,TValue>) GetOrAdd(TKey, Func<TKey,TValue>) GetOrAdd(TKey, Func<TKey,TValue>) GetOrAdd(TKey, Func<TKey,TValue>)

Fügt dem ConcurrentDictionary<TKey,TValue> ein Schlüssel/Wert-Paar mithilfe der angegebenen Funktion hinzu, wenn der Schlüssel noch nicht vorhanden ist.Adds a key/value pair to the ConcurrentDictionary<TKey,TValue> by using the specified function if the key does not already exist. Gibt den neuen Wert oder den vorhandenen Wert zurück, wenn der Schlüssel existiert.Returns the new value, or the existing value if the key exists.

GetOrAdd(TKey, TValue) GetOrAdd(TKey, TValue) GetOrAdd(TKey, TValue) GetOrAdd(TKey, TValue)

Fügt dem ConcurrentDictionary<TKey,TValue> ein Schlüssel-Wert-Paar hinzu, wenn der Schlüssel nicht bereits vorhanden ist.Adds a key/value pair to the ConcurrentDictionary<TKey,TValue> if the key does not already exist. Gibt den neuen Wert oder den vorhandenen Wert zurück, wenn der Schlüssel existiert.Returns the new value, or the existing value if the key exists.

GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg)

Fügt dem ConcurrentDictionary<TKey,TValue> mithilfe der angegebenen Funktion und eines Arguments ein Schlüssel-Wert-Paar hinzu, wenn der Schlüssel noch nicht vorhanden ist, oder gibt den vorhanden Wert zurück, wenn der Schlüssel vorhanden ist.Adds a key/value pair to the ConcurrentDictionary<TKey,TValue> by using the specified function and an argument if the key does not already exist, or returns the existing value if the key exists.

GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToArray() ToArray() ToArray() ToArray()

Kopiert die im ConcurrentDictionary<TKey,TValue> gespeicherten Schlüssel-Wert-Paare in einem neuen Array.Copies the key and value pairs stored in the ConcurrentDictionary<TKey,TValue> to a new array.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)
TryAdd(TKey, TValue) TryAdd(TKey, TValue) TryAdd(TKey, TValue) TryAdd(TKey, TValue)

Versucht, dem ConcurrentDictionary<TKey,TValue> den angegebenen Schlüssel und Wert hinzuzufügen.Attempts to add the specified key and value to the ConcurrentDictionary<TKey,TValue>.

TryGetValue(TKey, TValue) TryGetValue(TKey, TValue) TryGetValue(TKey, TValue) TryGetValue(TKey, TValue)

Versucht, den Wert abzurufen, der dem angegebenen Schlüssel aus dem ConcurrentDictionary<TKey,TValue> zugeordnet ist.Attempts to get the value associated with the specified key from the ConcurrentDictionary<TKey,TValue>.

TryRemove(TKey, TValue) TryRemove(TKey, TValue) TryRemove(TKey, TValue) TryRemove(TKey, TValue)

Versucht, den Wert zu entfernen und zurückzugeben, der den angegebenen Schlüssel aus dem ConcurrentDictionary<TKey,TValue> hat.Attempts to remove and return the value that has the specified key from the ConcurrentDictionary<TKey,TValue>.

TryUpdate(TKey, TValue, TValue) TryUpdate(TKey, TValue, TValue) TryUpdate(TKey, TValue, TValue) TryUpdate(TKey, TValue, TValue)

Aktualisiert den Wert, der key zugeordnet ist, in newValue, wenn der mit key vorhandene Wert comparisonValue entspricht.Updates the value associated with key to newValue if the existing value with key is equal to comparisonValue.

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)

Kopiert die Elemente der ICollection in ein Array, wobei am angegebenen Arrayindex begonnen wird.Copies the elements of the ICollection to an array, starting at the specified array index.

ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die ICollection mit SyncRoot synchronisiert wird.Gets a value that indicates whether access to the ICollection is synchronized with the SyncRoot.

ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf ICollection synchronisiert werden kann.Gets an object that can be used to synchronize access to the ICollection. Diese Eigenschaft wird nicht unterstützt.This property is not supported.

ICollection<KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey,TValue>)

Fügt der Auflistung ein Element hinzu.Adds an item to the collection.

ICollection<KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey,TValue>)

Ruft ab, ob das ICollection<T> ein Element mit dem angegebenen Schlüssel enthält.Gets whether the ICollection<T> contains an element with the specified key.

ICollection<KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey,TValue>[], Int32) ICollection<KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey,TValue>[], Int32) ICollection<KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey,TValue>[], Int32) ICollection<KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey,TValue>[], Int32)

Kopiert die Elemente der ICollection in ein Array, wobei am angegebenen Arrayindex begonnen wird.Copies the elements of the ICollection to an array, starting at the specified array index.

ICollection<KeyValuePair<TKey,TValue>>.IsReadOnly ICollection<KeyValuePair<TKey,TValue>>.IsReadOnly ICollection<KeyValuePair<TKey,TValue>>.IsReadOnly ICollection<KeyValuePair<TKey,TValue>>.IsReadOnly

Ruft einen Wert ab, der angibt, ob die ICollection schreibgeschützt ist.Gets a value that indicates whether the ICollection is read-only.

ICollection<KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey,TValue>)

Entfernt das angegebene Schlüssel-Wert-Paar aus der Auflistung.Removes the specified key/value pair from the collection.

IDictionary.Add(Object, Object) IDictionary.Add(Object, Object) IDictionary.Add(Object, Object) IDictionary.Add(Object, Object)

Fügt dem Wörterbuch den angegebenen Schlüssel und Wert hinzu.Adds the specified key and value to the dictionary.

IDictionary.Contains(Object) IDictionary.Contains(Object) IDictionary.Contains(Object) IDictionary.Contains(Object)

Ruft einen Wert ab, der angibt, ob das IDictionary<TKey,TValue> ein Element mit dem angegebenen Schlüssel enthält.Gets a value that indicates the IDictionary<TKey,TValue> contains an element with the specified key.

IDictionary.GetEnumerator() IDictionary.GetEnumerator() IDictionary.GetEnumerator() IDictionary.GetEnumerator()

Stellt einen IDictionaryEnumerator für das IDictionary<TKey,TValue> bereit.Provides a IDictionaryEnumerator for the IDictionary<TKey,TValue>.

IDictionary.IsFixedSize IDictionary.IsFixedSize IDictionary.IsFixedSize IDictionary.IsFixedSize

Ruft einen Wert ab, der angibt, ob die IDictionary<TKey,TValue> eine feste Größe hat.Gets a value that indicates whether the IDictionary<TKey,TValue> has a fixed size.

IDictionary.IsReadOnly IDictionary.IsReadOnly IDictionary.IsReadOnly IDictionary.IsReadOnly

Ruft einen Wert ab, der angibt, ob die IDictionary<TKey,TValue> schreibgeschützt ist.Gets a value that indicates whether the IDictionary<TKey,TValue> is read-only.

IDictionary.Item[Object] IDictionary.Item[Object] IDictionary.Item[Object] IDictionary.Item[Object]

Ruft den Wert ab, der dem angegebenen Schlüssel zugeordnet ist, oder legt diesen fest.Gets or sets the value associated with the specified key.

IDictionary.Keys IDictionary.Keys IDictionary.Keys IDictionary.Keys

Ruft ein ICollection ab, das die Schlüssel des IDictionary<TKey,TValue> enthält.Gets an ICollection that contains the keys of the IDictionary<TKey,TValue>.

IDictionary.Remove(Object) IDictionary.Remove(Object) IDictionary.Remove(Object) IDictionary.Remove(Object)

Entfernt das Element mit dem angegebenen Schlüssel aus dem IDictionary.Removes the element with the specified key from the IDictionary.

IDictionary.Values IDictionary.Values IDictionary.Values IDictionary.Values

Ruft ein ICollection ab, das die Werte im IDictionary enthält.Gets an ICollection that contains the values in the IDictionary.

IDictionary<TKey,TValue>.Add(TKey, TValue) IDictionary<TKey,TValue>.Add(TKey, TValue) IDictionary<TKey,TValue>.Add(TKey, TValue) IDictionary<TKey,TValue>.Add(TKey, TValue)

Fügt dem IDictionary<TKey,TValue> den angegebenen Schlüssel und Wert hinzu.Adds the specified key and value to the IDictionary<TKey,TValue>.

IDictionary<TKey,TValue>.Remove(TKey) IDictionary<TKey,TValue>.Remove(TKey) IDictionary<TKey,TValue>.Remove(TKey) IDictionary<TKey,TValue>.Remove(TKey)

Entfernt das Element mit dem angegebenen Schlüssel aus dem IDictionary<TKey,TValue>.Removes the element with the specified key from the IDictionary<TKey,TValue>.

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Gibt einen Enumerator zurück, der die ConcurrentDictionary<TKey,TValue> durchläuft.Returns an enumerator that iterates through the ConcurrentDictionary<TKey,TValue>.

IReadOnlyDictionary<TKey,TValue>.Keys IReadOnlyDictionary<TKey,TValue>.Keys IReadOnlyDictionary<TKey,TValue>.Keys IReadOnlyDictionary<TKey,TValue>.Keys

Ruft eine Auflistung ab, die die Schlüssel im Dictionary<TKey,TValue> enthält.Gets a collection containing the keys in the Dictionary<TKey,TValue>.

IReadOnlyDictionary<TKey,TValue>.Values IReadOnlyDictionary<TKey,TValue>.Values IReadOnlyDictionary<TKey,TValue>.Values IReadOnlyDictionary<TKey,TValue>.Values

Ruft eine Auflistung ab, die die Werte im Dictionary<TKey,TValue> enthält.Gets a collection that contains the values in the Dictionary<TKey,TValue>.

Extension Methods

GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey) GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey) GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey) GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey)
GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey, TValue) GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey, TValue) GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey, TValue) GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey, TValue)
Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue)
TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue)
CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>)

Gibt eine DataTable , enthält die Kopien der DataRow Objekte, wenn ein IEnumerable<T> Objekt, in dem der generische Parameter T ist DataRow.Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Kopien DataRow Objekte mit dem angegebenen DataTable, wenn ein IEnumerable<T> Objekt, in dem der generische Parameter T ist DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Kopien DataRow Objekte mit dem angegebenen DataTable, wenn ein IEnumerable<T> Objekt, in dem der generische Parameter T ist DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Konvertiert eine IEnumerable auf eine IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>)

Gibt eine Auflistung von Elementen zurück, die die übergeordneten Elemente der einzelnen Knoten in der Quellauflistung enthält.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName)

Gibt eine gefilterte Auflistung von Elementen zurück, die die übergeordneten Elemente der einzelnen Knoten in der Quellauflistung enthält.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>)

Gibt eine Auflistung der Nachfolgerknoten jedes Dokuments und Elements in der Quellauflistung zurück.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>)

Gibt eine Auflistung von Elementen zurück, die die Nachfolgerelemente jedes Elements und Dokuments in der Quellauflistung enthält.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName)

Gibt eine gefilterte Auflistung von Elementen zurück, die die Nachfolgerelemente jedes Elements und Dokuments in der Quellauflistung enthält.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>)

Gibt eine Auflistung der untergeordneten Elemente jedes Elements und Dokuments in der Quellauflistung zurück.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName)

Gibt eine gefilterte Auflistung der untergeordneten Elemente jedes Elements und Dokuments in der Quellauflistung zurück.Returns a filtered collection of the child elements of every element and document in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>)

Gibt eine in Dokumentreihenfolge sortierte Auflistung von Knoten zurück, die alle Knoten in der Quellauflistung enthält.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>)

Gibt eine Auflistung der untergeordneten Knoten jedes Dokuments und Elements in der Quellauflistung zurück.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>)

Entfernt jeden Knoten in der Quellauflistung aus seinem übergeordneten Knoten.Removes every node in the source collection from its parent node.

Gilt für:

Threadsicherheit

Alle öffentlichen und geschützten Member der ConcurrentDictionary<TKey,TValue> sind threadsicher und können von mehreren Threads gleichzeitig verwendet werden.All public and protected members of ConcurrentDictionary<TKey,TValue> are thread-safe and may be used concurrently from multiple threads. Allerdings Member zugegriffen, über eine der Schnittstellen der ConcurrentDictionary<TKey,TValue> implementiert, einschließlich Erweiterungsmethoden, sind nicht unbedingt threadsicher und müssen möglicherweise vom Anrufer synchronisiert werden.However, members accessed through one of the interfaces the ConcurrentDictionary<TKey,TValue> implements, including extension methods, are not guaranteed to be thread safe and may need to be synchronized by the caller.

Siehe auch