ConditionalWeakTable<TKey,TValue>.GetOrAdd Método

Definição

Sobrecargas

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

Pesquisa uma chave especificada na tabela e retorna o valor correspondente. Se a chave não existir na tabela, o método invocará a fábrica fornecida para criar um valor associado à chave especificada.

GetOrAdd(TKey, TValue)

Pesquisa uma chave especificada na tabela e retorna o valor correspondente. Se a chave não existir na tabela, o método adicionará o valor fornecido e a associará à chave especificada.

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

Pesquisa uma chave especificada na tabela e retorna o valor correspondente. Se a chave não existir na tabela, o método invocará a fábrica fornecida para criar um valor associado à chave especificada.

GetOrAdd(TKey, Func<TKey,TValue>)

Origem:
ConditionalWeakTable.cs
Origem:
ConditionalWeakTable.cs

Pesquisa uma chave especificada na tabela e retorna o valor correspondente. Se a chave não existir na tabela, o método invocará a fábrica fornecida para criar um valor associado à chave especificada.

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

Parâmetros

key
TKey

A chave do valor a ser localizado. Não pode ser null.

valueFactory
Func<TKey,TValue>

O retorno de chamada que cria um valor para a chave, se ainda não existir. Não pode ser null.

Retornos

TValue

O valor associado à TKey instância atual ConditionalWeakTable<TKey,TValue> , após a conclusão do método.

Exceções

key ou valueFactory é null.

Comentários

Se vários threads tentarem inicializar a mesma chave, a tabela poderá invocar valueFactory várias vezes com a mesma chave. Exatamente uma dessas chamadas terá êxito e o valor retornado dessa chamada será o adicionado à tabela e retornado por todas as chamadas de corrida GetOrAdd(TKey, Func<TKey,TValue>) . Essa regra permite que a tabela invoque valueFactory fora do bloqueio interno da tabela, para evitar deadlocks.

Aplica-se a

GetOrAdd(TKey, TValue)

Origem:
ConditionalWeakTable.cs
Origem:
ConditionalWeakTable.cs

Pesquisa uma chave especificada na tabela e retorna o valor correspondente. Se a chave não existir na tabela, o método adicionará o valor fornecido e a associará à chave especificada.

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

Parâmetros

key
TKey

A chave do valor a ser localizado. Não pode ser null.

value
TValue

O valor a ser adicionado e associado, TKeyse ainda não existir.

Retornos

TValue

O valor associado à TKey instância atual ConditionalWeakTable<TKey,TValue> , após a conclusão do método.

Exceções

key é null.

Aplica-se a

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

Origem:
ConditionalWeakTable.cs
Origem:
ConditionalWeakTable.cs

Pesquisa uma chave especificada na tabela e retorna o valor correspondente. Se a chave não existir na tabela, o método invocará a fábrica fornecida para criar um valor associado à chave especificada.

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

Parâmetros de tipo

TArg

O tipo do argumento adicional a ser usado com o value factory.

Parâmetros

key
TKey

A chave do valor a ser localizado. Não pode ser null.

valueFactory
Func<TKey,TArg,TValue>

O retorno de chamada que cria um valor para a chave, se ainda não existir. Não pode ser null.

factoryArgument
TArg

O argumento adicional a ser fornecido após a valueFactory invocação.

Retornos

TValue

O valor associado à TKey instância atual ConditionalWeakTable<TKey,TValue> , após a conclusão do método.

Exceções

key ou valueFactory é null.

Comentários

Se vários threads tentarem inicializar a mesma chave, a tabela poderá invocar valueFactory várias vezes com a mesma chave. Exatamente uma dessas chamadas terá êxito e o valor retornado dessa chamada será o adicionado à tabela e retornado por todas as chamadas de corrida GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) . Essa regra permite que a tabela invoque valueFactory fora do bloqueio interno da tabela, para evitar deadlocks.

Aplica-se a