Sdílet prostřednictvím


ImmutableInterlocked Třída

Definice

Obsahuje mechanismy vzájemné výměny pro neměnné kolekce.

Balíček NuGet: System.Collections.Immutable (informace o neměnných kolekcích a postupu instalace)

public ref class ImmutableInterlocked abstract sealed
public static class ImmutableInterlocked
type ImmutableInterlocked = class
Public Class ImmutableInterlocked
Dědičnost
ImmutableInterlocked

Metody

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

Získá hodnotu ze slovníku po jejím přidání nebo aktualizaci existující položky.

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

Získá hodnotu ze slovníku po jejím přidání nebo aktualizaci existující položky.

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

Atomicky začte prvek do fronty na konec fronty.

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

Získá hodnotu pro zadaný klíč ze slovníku, nebo pokud klíč nebyl nalezen, přidá novou hodnotu slovníku.

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

Získá hodnotu pro zadaný klíč ze slovníku, nebo pokud klíč nebyl nalezen, přidá novou hodnotu slovníku.

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

Získá hodnotu pro zadaný klíč ze slovníku, nebo pokud klíč nebyl nalezen, přidá novou hodnotu slovníku.

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

Porovná dvě neměnná pole z hlediska rovnosti, a pokud jsou rovna, nahradí jedno z polí.

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

Nastaví matici na zadanou matici a vrátí odkaz na původní pole jako atomické operace.

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

Nastaví matici na zadanou matici, pokud pole nebylo inicializováno.

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

Nasdílí nový prvek do zásobníku.

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

Přidá zadaný klíč a hodnotu do slovníku, pokud klíč není ve slovníku.

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

Atomicly odebere a vrátí zadaný prvek v čele fronty, pokud fronta není prázdná.

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

Odebere prvek z horní části zásobníku, pokud existuje prvek, který chcete odebrat.

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

Odebere prvek se zadaným klíčem, pokud klíč existuje.

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

Nastaví zadaný klíč na zadanou hodnotu, pokud je zadaný klíč již nastaven na určitou hodnotu.

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

Mutuje neměnné pole na místě se sémantikou optimistického zamykání transakce prostřednictvím zadané transformační funkce. Transformace se opakuje tolikrát, kolikrát je to nutné, aby vyhrála optimistické uzamykací závody.

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

Mutuje hodnotu na místě s optimistickou sémantikou zamykání transakcí prostřednictvím zadané transformační funkce. Transformace se opakuje tolikrát, kolikrát je to nutné, aby vyhrála optimistické uzamykací závody.

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

Mutuje neměnné pole na místě se sémantikou optimistického zamykání transakce prostřednictvím zadané transformační funkce. Transformace se opakuje tolikrát, kolikrát je to nutné, aby vyhrála optimistické uzamykací závody.

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

Mutuje hodnotu na místě s optimistickou sémantikou zamykání transakcí prostřednictvím zadané transformační funkce. Transformace se opakuje tolikrát, kolikrát je to nutné, aby vyhrála optimistické uzamykací závody.

Platí pro

Bezpečný přístup z více vláken

Tento typ je bezpečný pro přístup z více vláken.