ImmutableInterlocked Klasa

Definicja

Zawiera mechanizmy wymiany między blokadami dla kolekcji niezmiennych.

Pakiet NuGet: System.Collections.Immutable (informacje o niezmiennych kolekcjach i sposobie instalacji)

public ref class ImmutableInterlocked abstract sealed
public static class ImmutableInterlocked
type ImmutableInterlocked = class
Public Class ImmutableInterlocked
Dziedziczenie
ImmutableInterlocked

Metody

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

Uzyskuje wartość ze słownika po dodaniu lub zaktualizowaniu istniejącego wpisu.

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

Uzyskuje wartość ze słownika po dodaniu lub zaktualizowaniu istniejącego wpisu.

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

Niepodzielne kolejkowanie elementu na końcu kolejki.

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

Pobiera wartość określonego klucza ze słownika lub jeśli klucz nie został znaleziony, dodaje nową wartość do słownika.

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

Pobiera wartość określonego klucza ze słownika lub jeśli klucz nie został znaleziony, dodaje nową wartość do słownika.

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

Pobiera wartość określonego klucza ze słownika lub jeśli klucz nie został znaleziony, dodaje nową wartość do słownika.

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

Porównuje dwie niezmienne tablice pod kątem równości i, jeśli są równe, zastępuje jedną z tablic.

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

Ustawia tablicę na określoną tablicę i zwraca odwołanie do oryginalnej tablicy jako operację niepodzielna.

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

Ustawia tablicę na określoną tablicę, jeśli tablica nie została zainicjowana.

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

Wypycha nowy element na stos.

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

Dodaje określony klucz i wartość do słownika, jeśli klucz nie znajduje się w słowniku.

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

Niepodziealnie usuwa i zwraca określony element w nagłówku kolejki, jeśli kolejka nie jest pusta.

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

Usuwa element z góry stosu, jeśli istnieje element do usunięcia.

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

Usuwa element z określonym kluczem, jeśli klucz istnieje.

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

Ustawia określony klucz na określoną wartość, jeśli określony klucz jest już ustawiony na określoną wartość.

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

Mutates niezmiennej tablicy w miejscu z optymistycznym blokowaniem semantyki transakcji za pośrednictwem określonej funkcji przekształcania. Transformacja jest ponawiana tyle razy, ile to konieczne, aby wygrać optymistyczny wyścig blokady.

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

Wycisza wartość w miejscu z optymistycznym blokowaniem semantyki transakcji za pośrednictwem określonej funkcji przekształcania. Transformacja jest ponawiana tyle razy, ile to konieczne, aby wygrać optymistyczny wyścig blokady.

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

Mutates niezmiennej tablicy w miejscu z optymistycznym blokowaniem semantyki transakcji za pośrednictwem określonej funkcji przekształcania. Transformacja jest ponawiana tyle razy, ile to konieczne, aby wygrać optymistyczny wyścig blokady.

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

Wycisza wartość w miejscu z optymistycznym blokowaniem semantyki transakcji za pośrednictwem określonej funkcji przekształcania. Transformacja jest ponawiana tyle razy, ile to konieczne, aby wygrać optymistyczny wyścig blokady.

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny wątkowo.