ConditionalWeakTable<TKey,TValue>.GetOrAdd Methode

Definition

Überlädt

Name Beschreibung
GetOrAdd(TKey, Func<TKey,TValue>)

Sucht nach einem angegebenen Schlüssel in der Tabelle und gibt den entsprechenden Wert zurück. Wenn der Schlüssel in der Tabelle nicht vorhanden ist, ruft die Methode die angegebene Factory auf, um einen Wert zu erstellen, der an den angegebenen Schlüssel gebunden ist.

GetOrAdd(TKey, TValue)

Sucht nach einem angegebenen Schlüssel in der Tabelle und gibt den entsprechenden Wert zurück. Wenn der Schlüssel in der Tabelle nicht vorhanden ist, fügt die Methode den angegebenen Wert hinzu und bindet ihn an den angegebenen Schlüssel.

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

Sucht nach einem angegebenen Schlüssel in der Tabelle und gibt den entsprechenden Wert zurück. Wenn der Schlüssel in der Tabelle nicht vorhanden ist, ruft die Methode die angegebene Factory auf, um einen Wert zu erstellen, der an den angegebenen Schlüssel gebunden ist.

GetOrAdd(TKey, Func<TKey,TValue>)

Quelle:
ConditionalWeakTable.cs
Quelle:
ConditionalWeakTable.cs

Sucht nach einem angegebenen Schlüssel in der Tabelle und gibt den entsprechenden Wert zurück. Wenn der Schlüssel in der Tabelle nicht vorhanden ist, ruft die Methode die angegebene Factory auf, um einen Wert zu erstellen, der an den angegebenen Schlüssel gebunden ist.

public:
 TValue GetOrAdd(TKey key, Func<TKey, TValue> ^ valueFactory);
public TValue GetOrAdd(TKey key, Func<TKey,TValue> valueFactory);
member this.GetOrAdd : 'Key * Func<'Key, 'Value (requires 'Key : null and 'Value : null)> -> 'Value
Public Function GetOrAdd (key As TKey, valueFactory As Func(Of TKey, TValue)) As TValue

Parameter

key
TKey

Der Schlüssel des zu suchenden Werts. Es kann nicht nullwerden.

valueFactory
Func<TKey,TValue>

Der Rückruf, der einen Wert für den Schlüssel erstellt, falls noch kein Wert vorhanden ist. Es kann nicht nullwerden.

Gibt zurück

TValue

Der wert, der TKey in der aktuellen ConditionalWeakTable<TKey,TValue> Instanz gebunden ist, nachdem die Methode abgeschlossen wurde.

Ausnahmen

key oder valueFactory ist null.

Hinweise

Wenn mehrere Threads versuchen, denselben Schlüssel zu initialisieren, kann die Tabelle mehrmals mit demselben Schlüssel aufgerufen werden valueFactory . Genau einer dieser Aufrufe wird erfolgreich ausgeführt, und der zurückgegebene Wert dieses Anrufs wird der Tabelle hinzugefügt und von allen Rennanrufen GetOrAdd(TKey, Func<TKey,TValue>) zurückgegeben. Mit dieser Regel kann die Tabelle außerhalb der internen Tabellensperre aufgerufen valueFactory werden, um Deadlocks zu verhindern.

Gilt für:

GetOrAdd(TKey, TValue)

Quelle:
ConditionalWeakTable.cs
Quelle:
ConditionalWeakTable.cs

Sucht nach einem angegebenen Schlüssel in der Tabelle und gibt den entsprechenden Wert zurück. Wenn der Schlüssel in der Tabelle nicht vorhanden ist, fügt die Methode den angegebenen Wert hinzu und bindet ihn an den angegebenen Schlüssel.

public:
 TValue GetOrAdd(TKey key, TValue value);
public TValue GetOrAdd(TKey key, TValue value);
member this.GetOrAdd : 'Key * 'Value -> 'Value
Public Function GetOrAdd (key As TKey, value As TValue) As TValue

Parameter

key
TKey

Der Schlüssel des zu suchenden Werts. Es kann nicht nullwerden.

value
TValue

Der Wert, der TKeyhinzugefügt und an gebunden werden soll, wenn er noch nicht vorhanden ist.

Gibt zurück

TValue

Der wert, der TKey in der aktuellen ConditionalWeakTable<TKey,TValue> Instanz gebunden ist, nachdem die Methode abgeschlossen wurde.

Ausnahmen

key ist null.

Gilt für:

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

Quelle:
ConditionalWeakTable.cs
Quelle:
ConditionalWeakTable.cs

Sucht nach einem angegebenen Schlüssel in der Tabelle und gibt den entsprechenden Wert zurück. Wenn der Schlüssel in der Tabelle nicht vorhanden ist, ruft die Methode die angegebene Factory auf, um einen Wert zu erstellen, der an den angegebenen Schlüssel gebunden ist.

public:
generic <typename TArg>
 TValue GetOrAdd(TKey key, Func<TKey, TArg, TValue> ^ valueFactory, TArg factoryArgument);
public TValue GetOrAdd<TArg>(TKey key, Func<TKey,TArg,TValue> valueFactory, TArg factoryArgument) where TArg : allows ref struct;
member this.GetOrAdd : 'Key * Func<'Key, 'Arg, 'Value (requires 'Key : null and 'Value : null)> * 'Arg -> 'Value
Public Function GetOrAdd(Of TArg) (key As TKey, valueFactory As Func(Of TKey, TArg, TValue), factoryArgument As TArg) As TValue

Typparameter

TArg

Der Typ des zusätzlichen Arguments, das mit der Wertfactory verwendet werden soll.

Parameter

key
TKey

Der Schlüssel des zu suchenden Werts. Es kann nicht nullwerden.

valueFactory
Func<TKey,TArg,TValue>

Der Rückruf, der einen Wert für den Schlüssel erstellt, falls noch kein Wert vorhanden ist. Es kann nicht nullwerden.

factoryArgument
TArg

Das zusätzliche Argument, das beim Aufruf zur Verfügung gestellt valueFactory werden soll.

Gibt zurück

TValue

Der wert, der TKey in der aktuellen ConditionalWeakTable<TKey,TValue> Instanz gebunden ist, nachdem die Methode abgeschlossen wurde.

Ausnahmen

key oder valueFactory ist null.

Hinweise

Wenn mehrere Threads versuchen, denselben Schlüssel zu initialisieren, kann die Tabelle mehrmals mit demselben Schlüssel aufgerufen werden valueFactory . Genau einer dieser Aufrufe wird erfolgreich ausgeführt, und der zurückgegebene Wert dieses Anrufs wird der Tabelle hinzugefügt und von allen Rennanrufen GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) zurückgegeben. Mit dieser Regel kann die Tabelle außerhalb der internen Tabellensperre aufgerufen valueFactory werden, um Deadlocks zu verhindern.

Gilt für: