ConditionalWeakTable<TKey,TValue>.GetOrAdd Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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
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
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
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.