ConditionalWeakTable<TKey,TValue>.GetOrAdd Metod

Definition

Överlagringar

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

Söker efter en angiven nyckel i tabellen och returnerar motsvarande värde. Om nyckeln inte finns i tabellen anropar metoden den angivna fabriken för att skapa ett värde som är bundet till den angivna nyckeln.

GetOrAdd(TKey, TValue)

Söker efter en angiven nyckel i tabellen och returnerar motsvarande värde. Om nyckeln inte finns i tabellen lägger metoden till det angivna värdet och binder det till den angivna nyckeln.

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

Söker efter en angiven nyckel i tabellen och returnerar motsvarande värde. Om nyckeln inte finns i tabellen anropar metoden den angivna fabriken för att skapa ett värde som är bundet till den angivna nyckeln.

GetOrAdd(TKey, Func<TKey,TValue>)

Källa:
ConditionalWeakTable.cs
Källa:
ConditionalWeakTable.cs

Söker efter en angiven nyckel i tabellen och returnerar motsvarande värde. Om nyckeln inte finns i tabellen anropar metoden den angivna fabriken för att skapa ett värde som är bundet till den angivna nyckeln.

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

Parametrar

key
TKey

Nyckeln för det värde som ska hittas. Det kan inte vara null.

valueFactory
Func<TKey,TValue>

Återanropet som skapar ett värde för nyckeln, om det inte redan finns något. Det kan inte vara null.

Returer

TValue

Värdet som är bundet till TKey i den aktuella ConditionalWeakTable<TKey,TValue> instansen när metoden har slutförts.

Undantag

key eller valueFactory är null.

Kommentarer

Om flera trådar försöker initiera samma nyckel kan tabellen anropas valueFactory flera gånger med samma nyckel. Exakt ett av dessa anrop lyckas och det returnerade värdet för det anropet kommer att vara det som läggs till i tabellen och returneras av alla racinganrop GetOrAdd(TKey, Func<TKey,TValue>) . Den här regeln tillåter att tabellen anropar valueFactory utanför det interna tabelllåset för att förhindra dödlägen.

Gäller för

GetOrAdd(TKey, TValue)

Källa:
ConditionalWeakTable.cs
Källa:
ConditionalWeakTable.cs

Söker efter en angiven nyckel i tabellen och returnerar motsvarande värde. Om nyckeln inte finns i tabellen lägger metoden till det angivna värdet och binder det till den angivna nyckeln.

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

Parametrar

key
TKey

Nyckeln för det värde som ska hittas. Det kan inte vara null.

value
TValue

Värdet som ska läggas till och bindas till TKey, om det inte redan finns.

Returer

TValue

Värdet som är bundet till TKey i den aktuella ConditionalWeakTable<TKey,TValue> instansen när metoden har slutförts.

Undantag

key är null.

Gäller för

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

Källa:
ConditionalWeakTable.cs
Källa:
ConditionalWeakTable.cs

Söker efter en angiven nyckel i tabellen och returnerar motsvarande värde. Om nyckeln inte finns i tabellen anropar metoden den angivna fabriken för att skapa ett värde som är bundet till den angivna nyckeln.

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

Typparametrar

TArg

Typ av ytterligare argument som ska användas med värdefabriken.

Parametrar

key
TKey

Nyckeln för det värde som ska hittas. Det kan inte vara null.

valueFactory
Func<TKey,TArg,TValue>

Återanropet som skapar ett värde för nyckeln, om det inte redan finns något. Det kan inte vara null.

factoryArgument
TArg

Det ytterligare argumentet som ska anges vid valueFactory anrop.

Returer

TValue

Värdet som är bundet till TKey i den aktuella ConditionalWeakTable<TKey,TValue> instansen när metoden har slutförts.

Undantag

key eller valueFactory är null.

Kommentarer

Om flera trådar försöker initiera samma nyckel kan tabellen anropas valueFactory flera gånger med samma nyckel. Exakt ett av dessa anrop lyckas och det returnerade värdet för det anropet kommer att vara det som läggs till i tabellen och returneras av alla racinganrop GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) . Den här regeln tillåter att tabellen anropar valueFactory utanför det interna tabelllåset för att förhindra dödlägen.

Gäller för