ImmutableInterlocked ImmutableInterlocked ImmutableInterlocked ImmutableInterlocked Class

定義

変更できないコレクションのインタロック交換メカニズムが含まれています。Contains interlocked exchange mechanisms for immutable collections.

NuGet パッケージ:System.Collections.Immutable (変更できないコレクションの概要とインストール方法)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

public ref class ImmutableInterlocked abstract sealed
public static class ImmutableInterlocked
type ImmutableInterlocked = class
Public Class ImmutableInterlocked
継承
ImmutableInterlockedImmutableInterlockedImmutableInterlockedImmutableInterlocked

メソッド

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

値の追加または既存のエントリの更新後に、その値をディクショナリから取得します。Obtains the value from a dictionary after having added it or updated an existing entry.

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

値の追加または既存のエントリの更新後に、その値をディクショナリから取得します。Obtains the value from a dictionary after having added it or updated an existing entry.

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

要素をキューの末尾にアトミックに入れます。Atomically enqueues an element to the end of a queue.

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

指定されたキーの値をディクショナリから取得するか、キーが見つからなかった場合は、ディクショナリに新しい値を追加します。Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary.

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

指定されたキーの値をディクショナリから取得するか、キーが見つからなかった場合は、ディクショナリに新しい値を追加します。Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary.

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

指定されたキーの値をディクショナリから取得するか、キーが見つからなかった場合は、ディクショナリに新しい値を追加します。Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary.

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

2 つの変更できない配列が等しいかどうかを比較し、等しい場合は、その配列のいずれかを置き換えます。Compares two immutable arrays for equality and, if they are equal, replaces one of the arrays.

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

分割不可能な操作として、指定した配列を配列として設定し、元の配列への参照を返します。Sets an array to the specified array and returns a reference to the original array, as an atomic operation.

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

配列が初期化されていない場合に、指定した配列を配列として設定します。Sets an array to the specified array if the array has not been initialized.

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

新しい要素をスタックにプッシュします。Pushes a new element onto the stack.

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

キーがディクショナリ内に存在しない場合、指定したキーと値をディクショナリに追加します。Adds the specified key and value to the dictionary if the key is not in the dictionary.

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

キューが空ではない場合、キューの先頭にある指定した要素をアトミックに削除して返します。Atomically removes and returns the specified element at the head of the queue, if the queue is not empty.

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

削除する要素が存在する場合は、スタックの先頭から要素を削除します。Removes an element from the top of the stack, if there is an element to remove.

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

キーが存在する場合は、指定したキーを持つ要素を削除します。Removes the element with the specified key, if the key exists.

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

指定したキーが既に特定の値に設定されている場合は、指定されたキーに指定された値を設定します。Sets the specified key to the specified value if the specified key already is set to a specific value.

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

指定した変換関数により、楽観的ロック トランザクション セマンティクスを使って値をその場で変更します。Mutates a value in-place with optimistic locking transaction semantics via a specified transformation function. 変換は、楽観的ロックの競合を獲得するために必要な回数だけ再試行されます。The transformation is retried as many times as necessary to win the optimistic locking race.

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

指定した変換関数により、楽観的ロック トランザクション セマンティクスを使って値をその場で変更します。Mutates a value in-place with optimistic locking transaction semantics via a specified transformation function. 変換は、楽観的ロックの競合を獲得するために必要な回数だけ再試行されます。The transformation is retried as many times as necessary to win the optimistic locking race.

適用対象

スレッド セーフ

この型はスレッド セーフです。This type is thread safe.