Udostępnij za pośrednictwem


ImmutableInterlocked Klasa

Definicja

Zawiera międzylokowane mechanizmy wymiany dla niezmiennych kolekcji.

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

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 go lub zaktualizowaniu istniejącego wpisu.

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

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

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

Niepodziealnie kolejkuje element 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 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ę niepodzielnej.

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 do stosu.

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órnej części 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)

Wycisza niezmienną tablicę w miejscu z optymistycznym blokowaniem semantyki transakcji za pośrednictwem określonej funkcji przekształcania. Transformacja jest ponawiana tak wiele razy, jak 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 tak wiele razy, jak to konieczne, aby wygrać optymistyczny wyścig blokady.

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

Wycisza niezmienną tablicę w miejscu z optymistycznym blokowaniem semantyki transakcji za pośrednictwem określonej funkcji przekształcania. Transformacja jest ponawiana tak wiele razy, jak 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 tak wiele razy, jak to konieczne, aby wygrać optymistyczny wyścig blokady.

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny wątkowo.