ConditionalWeakTable<TKey,TValue>.GetOrAdd Método

Definição

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

TValue

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

TValue

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

TValue

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.

Aplica-se a