ConditionalWeakTable<TKey,TValue>.GetOrAdd Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Sobrecargas
| Name | Description |
|---|---|
| GetOrAdd(TKey, Func<TKey,TValue>) |
Procura uma chave especificada na tabela e devolve o valor correspondente. Se a chave não existir na tabela, o método invoca a fábrica fornecida para criar um valor vinculado à chave especificada. |
| GetOrAdd(TKey, TValue) |
Procura uma chave especificada na tabela e devolve o valor correspondente. Se a chave não existir na tabela, o método soma o valor dado e liga-o à chave especificada. |
| GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) |
Procura uma chave especificada na tabela e devolve o valor correspondente. Se a chave não existir na tabela, o método invoca a fábrica fornecida para criar um valor vinculado à chave especificada. |
GetOrAdd(TKey, Func<TKey,TValue>)
- Origem:
- ConditionalWeakTable.cs
- Origem:
- ConditionalWeakTable.cs
Procura uma chave especificada na tabela e devolve o valor correspondente. Se a chave não existir na tabela, o método invoca a fábrica fornecida para criar um valor vinculado à 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 encontrar. Não pode ser null.
- valueFactory
- Func<TKey,TValue>
O callback que cria um valor para a chave, caso ainda não exista. Não pode ser null.
Devoluções
O valor ligado a TKey na instância atual ConditionalWeakTable<TKey,TValue> , após a conclusão do método.
Exceções
key ou valueFactory é null.
Observações
Se múltiplas threads tentarem inicializar a mesma chave, a tabela pode invocar valueFactory várias vezes com a mesma chave. Exatamente uma destas chamadas terá sucesso e o valor devolvido dessa chamada será o que será adicionado à tabela e devolvido por todas as chamadas de corrida GetOrAdd(TKey, Func<TKey,TValue>) . Esta regra permite que a tabela invoque valueFactory fora do bloqueio interno da mesa, para evitar deadlocks.
Aplica-se a
GetOrAdd(TKey, TValue)
- Origem:
- ConditionalWeakTable.cs
- Origem:
- ConditionalWeakTable.cs
Procura uma chave especificada na tabela e devolve o valor correspondente. Se a chave não existir na tabela, o método soma o valor dado e liga-o à 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 encontrar. Não pode ser null.
- value
- TValue
O valor a acrescentar e a ligar TKey, caso ainda não exista.
Devoluções
O valor ligado a TKey na 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
Procura uma chave especificada na tabela e devolve o valor correspondente. Se a chave não existir na tabela, o método invoca a fábrica fornecida para criar um valor vinculado à 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 Genérico
- TArg
O tipo do argumento adicional a usar com a fábrica de valor.
Parâmetros
- key
- TKey
A chave do valor a encontrar. Não pode ser null.
- valueFactory
- Func<TKey,TArg,TValue>
O callback que cria um valor para a chave, caso ainda não exista. Não pode ser null.
- factoryArgument
- TArg
O argumento adicional a fornecer valueFactory na invocação.
Devoluções
O valor ligado a TKey na instância atual ConditionalWeakTable<TKey,TValue> , após a conclusão do método.
Exceções
key ou valueFactory é null.
Observações
Se múltiplas threads tentarem inicializar a mesma chave, a tabela pode invocar valueFactory várias vezes com a mesma chave. Exatamente uma destas chamadas terá sucesso e o valor devolvido dessa chamada será o que será adicionado à tabela e devolvido por todas as chamadas de corrida GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) . Esta regra permite que a tabela invoque valueFactory fora do bloqueio interno da mesa, para evitar deadlocks.