ImmutableInterlocked Classe

Definição

Contém mecanismos de troca encaixados para coleções imutáveis.

Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las)

public ref class ImmutableInterlocked abstract sealed
public static class ImmutableInterlocked
type ImmutableInterlocked = class
Public Class ImmutableInterlocked
Herança
ImmutableInterlocked

Métodos

AddOrUpdate<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>)

Obtém o valor de um dicionário depois de ter adicionado ou atualizado uma entrada existente.

AddOrUpdate<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, TValue, Func<TKey,TValue,TValue>)

Obtém o valor de um dicionário depois de ter adicionado ou atualizado uma entrada existente.

Enqueue<T>(ImmutableQueue<T>, T)

Enfileira atomicamente um elemento ao final de uma fila.

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

Obtém do dicionário o valor da chave especificada ou, se a chave não foi encontrada, adiciona um novo valor ao dicionário.

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

Obtém do dicionário o valor da chave especificada ou, se a chave não foi encontrada, adiciona um novo valor ao dicionário.

GetOrAdd<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, TValue)

Obtém do dicionário o valor da chave especificada ou, se a chave não foi encontrada, adiciona um novo valor ao dicionário.

InterlockedCompareExchange<T>(ImmutableArray<T>, ImmutableArray<T>, ImmutableArray<T>)

Compara duas matrizes imutáveis quanto à igualdade e, se elas forem iguais, substitui uma das matrizes.

InterlockedExchange<T>(ImmutableArray<T>, ImmutableArray<T>)

Define uma matriz para a matriz especificada e retorna uma referência à matriz original, como uma operação atômica.

InterlockedInitialize<T>(ImmutableArray<T>, ImmutableArray<T>)

Define uma matriz para a matriz especificada se a matriz não foi inicializada.

Push<T>(ImmutableStack<T>, T)

Envia um novo elemento por push para a pilha.

TryAdd<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, TValue)

Adiciona a chave especificada e o valor ao dicionário se a chave não estiver no dicionário.

TryDequeue<T>(ImmutableQueue<T>, T)

Remove atomicamente e retorna o elemento especificado no cabeçalho da fila, se a fila não estiver vazia.

TryPop<T>(ImmutableStack<T>, T)

Remove um elemento da parte superior da pilha, se houver um elemento a ser removido.

TryRemove<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, TValue)

Remove o elemento com a chave especificada, se a chave existir.

TryUpdate<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, TValue, TValue)

Define a chave especificada com o valor especificado se a chave especificada já estiver definida com um valor específico.

Update<T,TArg>(ImmutableArray<T>, Func<ImmutableArray<T>,TArg,ImmutableArray<T>>, TArg)

Modifica uma matriz imutável in-loco com semântica de transação de bloqueio otimista por meio de uma função de transformação especificada. A transformação será repetida tantas vezes quanto forem necessárias para ganhar a concorrência de bloqueio otimista.

Update<T,TArg>(T, Func<T,TArg,T>, TArg)

Altera um valor in-loco com semântica de transação de bloqueio otimista por meio de uma função de transformação especificada. A transformação será repetida tantas vezes quanto forem necessárias para ganhar a concorrência de bloqueio otimista.

Update<T>(ImmutableArray<T>, Func<ImmutableArray<T>,ImmutableArray<T>>)

Modifica uma matriz imutável in-loco com semântica de transação de bloqueio otimista por meio de uma função de transformação especificada. A transformação será repetida tantas vezes quanto forem necessárias para ganhar a concorrência de bloqueio otimista.

Update<T>(T, Func<T,T>)

Altera um valor in-loco com semântica de transação de bloqueio otimista por meio de uma função de transformação especificada. A transformação será repetida tantas vezes quanto forem necessárias para ganhar a concorrência de bloqueio otimista.

Aplica-se a

Acesso thread-safe

Este tipo é thread-safe.