System.Collections.Immutable 名前空間
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
変更できないコレクションを定義するインターフェイスとクラスが含まれています。
クラス
| 名前 | 説明 |
|---|---|
| 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) コレクションを表します。 |
注釈
不変コレクションを使用すると、次のことができます。
- コレクションが変更されないように、そのコンシューマーが確実にコレクションを共有します。
- マルチスレッド アプリケーションで暗黙的なスレッド セーフを提供します (コレクションにアクセスするためにロックは必要ありません)。
- 関数型プログラミングのプラクティスに従います。
- 元のコレクションが変更されないようにしながら、列挙中にコレクションを変更します。