ConditionalWeakTable<TKey,TValue>.GetOrAdd Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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
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
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.