ConditionalWeakTable<TKey,TValue>.GetOrAdd Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
| Name | Description |
|---|---|
| GetOrAdd(TKey, Func<TKey,TValue>) |
Vyhledá zadaný klíč v tabulce a vrátí odpovídající hodnotu. Pokud klíč v tabulce neexistuje, metoda vyvolá zadanou továrnu k vytvoření hodnoty, která je vázána na zadaný klíč. |
| GetOrAdd(TKey, TValue) |
Vyhledá zadaný klíč v tabulce a vrátí odpovídající hodnotu. Pokud klíč v tabulce neexistuje, metoda přidá danou hodnotu a vytvoří vazbu se zadaným klíčem. |
| GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) |
Vyhledá zadaný klíč v tabulce a vrátí odpovídající hodnotu. Pokud klíč v tabulce neexistuje, metoda vyvolá zadanou továrnu k vytvoření hodnoty, která je vázána na zadaný klíč. |
GetOrAdd(TKey, Func<TKey,TValue>)
- Zdroj:
- ConditionalWeakTable.cs
- Zdroj:
- ConditionalWeakTable.cs
Vyhledá zadaný klíč v tabulce a vrátí odpovídající hodnotu. Pokud klíč v tabulce neexistuje, metoda vyvolá zadanou továrnu k vytvoření hodnoty, která je vázána na zadaný klíč.
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
Parametry
- key
- TKey
Klíč hodnoty, kterou chcete najít. Nemůže být null.
- valueFactory
- Func<TKey,TValue>
Zpětné volání, které vytvoří hodnotu pro klíč, pokud ještě neexistuje. Nemůže být null.
Návraty
Hodnota vázaná na TKey aktuální ConditionalWeakTable<TKey,TValue> instanci po dokončení metody.
Výjimky
key nebo valueFactory je null.
Poznámky
Pokud se více vláken pokusí inicializovat stejný klíč, může tabulka vyvolat valueFactory vícekrát se stejným klíčem. Přesně jedno z těchto volání bude úspěšné a vrácená hodnota tohoto volání bude ta, která se přidá do tabulky a vrátí všechna závodní GetOrAdd(TKey, Func<TKey,TValue>) volání. Toto pravidlo umožňuje, aby se tabulka vyvolala valueFactory mimo vnitřní zámek tabulky, aby se zabránilo zablokování.
Platí pro
GetOrAdd(TKey, TValue)
- Zdroj:
- ConditionalWeakTable.cs
- Zdroj:
- ConditionalWeakTable.cs
Vyhledá zadaný klíč v tabulce a vrátí odpovídající hodnotu. Pokud klíč v tabulce neexistuje, metoda přidá danou hodnotu a vytvoří vazbu se zadaným klíčem.
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
Parametry
- key
- TKey
Klíč hodnoty, kterou chcete najít. Nemůže být null.
- value
- TValue
Hodnota, která se má přidat a svázat s TKey, pokud ještě neexistuje.
Návraty
Hodnota vázaná na TKey aktuální ConditionalWeakTable<TKey,TValue> instanci po dokončení metody.
Výjimky
key je null.
Platí pro
GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg)
- Zdroj:
- ConditionalWeakTable.cs
- Zdroj:
- ConditionalWeakTable.cs
Vyhledá zadaný klíč v tabulce a vrátí odpovídající hodnotu. Pokud klíč v tabulce neexistuje, metoda vyvolá zadanou továrnu k vytvoření hodnoty, která je vázána na zadaný klíč.
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
Parametry typu
- TArg
Typ dalšího argumentu, který se má použít s objektem pro vytváření hodnot.
Parametry
- key
- TKey
Klíč hodnoty, kterou chcete najít. Nemůže být null.
- valueFactory
- Func<TKey,TArg,TValue>
Zpětné volání, které vytvoří hodnotu pro klíč, pokud ještě neexistuje. Nemůže být null.
- factoryArgument
- TArg
Další argument, který se má zadat při valueFactory vyvolání.
Návraty
Hodnota vázaná na TKey aktuální ConditionalWeakTable<TKey,TValue> instanci po dokončení metody.
Výjimky
key nebo valueFactory je null.
Poznámky
Pokud se více vláken pokusí inicializovat stejný klíč, může tabulka vyvolat valueFactory vícekrát se stejným klíčem. Přesně jedno z těchto volání bude úspěšné a vrácená hodnota tohoto volání bude ta, která se přidá do tabulky a vrátí všechna závodní GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) volání. Toto pravidlo umožňuje, aby se tabulka vyvolala valueFactory mimo vnitřní zámek tabulky, aby se zabránilo zablokování.