次の方法で共有


System.Collections.Immutable 名前空間

変更できないコレクションを定義するインターフェイスとクラスが含まれています。

クラス

名前 説明
ImmutableArray

変更できない配列を作成するためのメソッドを提供します。つまり、作成後に変更することはできません。

ImmutableArray<T>.Builder

追加のメモリを割り当てることなく、 ImmutableArray<T> インスタンスに変換できる書き込み可能な配列アクセサーを表します。

ImmutableDictionary

ImmutableDictionary<TKey,TValue> クラスのインスタンスの初期化メソッドのセットを提供します。

ImmutableDictionary<TKey,TValue>.Builder

メモリ割り当てがほとんどまたはまったくなく変更され、不変のハッシュ マップ インスタンスを効率的に生成または構築できるハッシュ マップを表します。

ImmutableDictionary<TKey,TValue>

キーと値の変更できない順序なしコレクションを表します。

ImmutableHashSet

ImmutableHashSet<T> クラスのインスタンスの初期化メソッドのセットを提供します。

ImmutableHashSet<T>.Builder

メモリ割り当てがほとんどまたはまったくなく変更され、不変のハッシュ セット インスタンスを効率的に生成または構築できるハッシュ セットを表します。

ImmutableHashSet<T>

変更できない順序なしハッシュ セットを表します。

ImmutableInterlocked

変更できないコレクションのインターロックされた交換メカニズムが含まれています。

ImmutableList

ImmutableList<T> クラスのインスタンスの初期化メソッドのセットを提供します。

ImmutableList<T>.Builder

メモリ割り当てがほとんどまたはまったくなく変更され、変更できないリスト インスタンスを効率的に生成または構築できるリストを表します。

ImmutableList<T>

変更できないリストを表します。これは、インデックスによってアクセスできるオブジェクトの厳密に型指定されたリストです。

ImmutableQueue

ImmutableQueue<T> クラスのインスタンスの初期化メソッドのセットを提供します。

ImmutableQueue<T>

変更できないキューを表します。

ImmutableSortedDictionary

ImmutableSortedDictionary<TKey,TValue> クラスのインスタンスの初期化メソッドのセットを提供します。

ImmutableSortedDictionary<TKey,TValue>.Builder

メモリ割り当てがほとんどまたはまったくなく変更され、変更できない並べ替えられたディクショナリ インスタンスを効率的に生成または構築できる、並べ替えられたディクショナリを表します。

ImmutableSortedDictionary<TKey,TValue>

変更できない並べ替えられたディクショナリを表します。

ImmutableSortedSet

ImmutableSortedSet<T> クラスのインスタンスの初期化メソッドのセットを提供します。

ImmutableSortedSet<T>.Builder

メモリ割り当てがほとんどまたはまったくない変更を有効にし、変更できない並べ替えられたセットを効率的に操作またはビルドする並べ替えられたセットを表します。

ImmutableSortedSet<T>

変更できない並べ替えられたセットの実装を表します。

ImmutableStack

ImmutableStack<T> クラスのインスタンスの初期化メソッドのセットを提供します。

ImmutableStack<T>

変更できないスタックを表します。

構造体

名前 説明
ImmutableArray<T>.Enumerator

配列列挙子を表します。

ImmutableArray<T>

変更できない配列を表します。つまり、作成後に変更することはできません。

ImmutableDictionary<TKey,TValue>.Enumerator

メモリを割り当てずに、変更できないディクショナリの内容を列挙します。

ImmutableHashSet<T>.Enumerator

メモリを割り当てずに、変更できないハッシュ セットの内容を列挙します。

ImmutableList<T>.Enumerator

バイナリ ツリーの内容を列挙します。

ImmutableQueue<T>.Enumerator

メモリを割り当てずに、変更できないキューの内容を列挙します。

ImmutableSortedDictionary<TKey,TValue>.Enumerator

バイナリ ツリーの内容を列挙します。

ImmutableSortedSet<T>.Enumerator

バイナリ ツリーの内容を列挙します。

ImmutableStack<T>.Enumerator

メモリを割り当てずに、変更できないスタックの内容を列挙します。

インターフェイス

名前 説明
IImmutableDictionary<TKey,TValue>

キーと値のペアの変更できないコレクションを表します。

IImmutableList<T>

変更できない要素の一覧を表します。

IImmutableQueue<T>

オブジェクトの不変の先入れ先出しコレクションを表します。

IImmutableSet<T>

セットの新しいインスタンスを作成することによってのみ変更できる要素のセットを表します。

IImmutableStack<T>

変更できない先入れ先出し (LIFO) コレクションを表します。

注釈

不変コレクションを使用すると、次のことができます。

  • コレクションが変更されないように、そのコンシューマーが確実にコレクションを共有します。
  • マルチスレッド アプリケーションで暗黙的なスレッド セーフを提供します (コレクションにアクセスするためにロックは必要ありません)。
  • 関数型プログラミングのプラクティスに従います。
  • 元のコレクションが変更されないようにしながら、列挙中にコレクションを変更します。