System.Collections.Immutable 名前空間

System.Collections.Immutable 名前空間には、変更できないコレクションを定義するインターフェイスとクラスが含まれています。 The System.Collections.Immutable namespace contains interfaces and classes that define immutable collections.

クラス

ImmutableArray

変更できない配列を作成するためのメソッドを提供します。つまり、この配列は、作成後に変更することができません。Provides methods for creating an array that is immutable; meaning it cannot be changed once it is created.

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

ImmutableArray<T>.Builder

余分なメモリを割り当てずに ImmutableArray<T> インスタンスに変換できる書き込み可能な配列アクセサー。A writable array accessor that can be converted into an ImmutableArray<T> instance without allocating extra memory.

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

ImmutableDictionary

ImmutableDictionary<TKey,TValue> クラスのインスタンスの一連の初期化メソッドを提供します。Provides a set of initialization methods for instances of the ImmutableDictionary<TKey,TValue> class.

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

ImmutableDictionary<TKey,TValue>.Builder

メモリ割り当てがほとんどまたはまったくない場合でも変化し、変更できないハッシュ マップのインスタンス上で非常に効率よく生成またはビルドできるハッシュ マップを表します。Represents a hash map that mutates with little or no memory allocations and that can produce or build on immutable hash map instances very efficiently.

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

ImmutableDictionary<TKey,TValue>

変更できない、順序指定されていないキーと値のコレクションを表します。Represents an immutable, unordered collection of keys and values.

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

ImmutableHashSet

ImmutableHashSet<T> クラスのインスタンスの一連の初期化メソッドを提供します。Provides a set of initialization methods for instances of the ImmutableHashSet<T> class.

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

ImmutableHashSet<T>.Builder

メモリ割り当てがほとんどまたはまったくない場合でも変化し、変更できないハッシュ セットのインスタンス上で非常に効率よく生成またはビルドできるハッシュ セットを表します。Represents a hash set that mutates with little or no memory allocations and that can produce or build on immutable hash set instances very efficiently.

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

ImmutableHashSet<T>

変更できない、順序が指定されていないハッシュ セットを表します。Represents an immutable, unordered hash set.

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

ImmutableInterlocked

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

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

ImmutableList

ImmutableList<T> クラスのインスタンスの一連の初期化メソッドを提供します。Provides a set of initialization methods for instances of the ImmutableList<T> class.

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

ImmutableList<T>.Builder

メモリ割り当てがほとんどまたはまったくない場合でも変化し、変更できないリストのインスタンス上で非常に効率よく生成またはビルドできるリストを表します。Represents a list that mutates with little or no memory allocations and that can produce or build on immutable list instances very efficiently.

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

ImmutableList<T>

変更できないリスト (インデックスを使用してアクセスできる、厳密に型指定されたオブジェクトのリスト) を表します。Represents an immutable list, which is a strongly typed list of objects that can be accessed by index.

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

ImmutableQueue

ImmutableQueue<T> クラスのインスタンスの一連の初期化メソッドを提供します。Provides a set of initialization methods for instances of the ImmutableQueue<T> class.

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

ImmutableQueue<T>

変更できないキューを表します。Represents an immutable queue.

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

ImmutableSortedDictionary

ImmutableSortedDictionary<TKey,TValue> クラスのインスタンスの一連の初期化メソッドを提供します。Provides a set of initialization methods for instances of the ImmutableSortedDictionary<TKey,TValue> class.

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

ImmutableSortedDictionary<TKey,TValue>.Builder

メモリ割り当てがほとんどまたはまったくない場合でも変化し、変更できない並べ替えられたディクショナリのインスタンス上で非常に効率よく生成またはビルドできる、並べ替えられたディクショナリを表します。Represents a sorted dictionary that mutates with little or no memory allocations and that can produce or build on immutable sorted dictionary instances very efficiently.

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

ImmutableSortedDictionary<TKey,TValue>

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

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

ImmutableSortedSet

ImmutableSortedSet<T> クラスのインスタンスの一連の初期化メソッドを提供します。Provides a set of initialization methods for instances of the ImmutableSortedSet<T> class.

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

ImmutableSortedSet<T>.Builder

メモリの割り当てをほとんどまたはまったく伴わずに変更が可能な並べ替えられたセットを表し、変更できない並べ替えられたセットを効率的に操作または構築します。Represents a sorted set that enables changes with little or no memory allocations, and efficiently manipulates or builds immutable sorted sets.

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

ImmutableSortedSet<T>

変更できない並べ替えられたセットの実装を表します。Represents an immutable sorted set implementation.

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

ImmutableStack

ImmutableStack<T> クラスのインスタンスの一連の初期化メソッドを提供します。Provides a set of initialization methods for instances of the ImmutableStack<T> class.

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

ImmutableStack<T>

変更できないスタックを表します。Represents an immutable stack.

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

構造体

ImmutableArray<T>.Enumerator

配列の列挙子。An array enumerator.

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

ImmutableArray<T>

変更できない配列を表します。つまり、この配列は、作成後に変更することができません。Represents an array that is immutable; meaning it cannot be changed once it is created.

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

ImmutableDictionary<TKey,TValue>.Enumerator

メモリを割り当てずに変更できないディクショナリの内容を列挙します。Enumerates the contents of the immutable dictionary without allocating any memory.

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

ImmutableHashSet<T>.Enumerator

メモリを割り当てずに変更できないハッシュ セットの内容を列挙します。Enumerates the contents of the immutable hash set without allocating any memory.

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

ImmutableList<T>.Enumerator

バイナリ ツリーの内容を列挙します。Enumerates the contents of a binary tree.

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

ImmutableQueue<T>.Enumerator

メモリを割り当てずに変更できないキューの内容を列挙します。Enumerates the contents of an immutable queue without allocating any memory.

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

ImmutableSortedDictionary<TKey,TValue>.Enumerator

バイナリ ツリーの内容を列挙します。Enumerates the contents of a binary tree.

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

ImmutableSortedSet<T>.Enumerator

バイナリ ツリーの内容を列挙します。Enumerates the contents of a binary tree.

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

ImmutableStack<T>.Enumerator

メモリを割り当てずに変更できないスタックの内容を列挙します。Enumerates the contents of an immutable stack without allocating any memory.

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

インターフェイス

IImmutableDictionary<TKey,TValue>

キーと値のペアの変更できないコレクションを表します。Represents an immutable collection of key/value pairs.

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

IImmutableList<T>

変更できない要素のリストを表します。Represents a list of elements that cannot be modified.

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

IImmutableQueue<T>

オブジェクトの変更できない先入れ先出しコレクションを表します。Represents an immutable first-in, first-out collection of objects.

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

IImmutableSet<T>

セットの新しいインスタンスを作成することによってのみ変更可能な要素のセットを表します。Represents a set of elements that can only be modified by creating a new instance of the set.

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

IImmutableStack<T>

変更できない後入れ先出し (LIFO) コレクションを表します。Represents an immutable last-in-first-out (LIFO) collection.

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

注釈

変更できないコレクションを使用すると、以下のことができます。With immutable collections, you can:

  • コレクションが変更されないことをコンシューマーが確実に保証できるように、コレクションを共有します。Share a collection in a way that its consumer can be assured that the collection never changes.

  • マルチスレッド アプリケーションで暗黙的なスレッド セーフを提供します (コレクションにアクセスするためにロックは不要)。Provide implicit thread safety in multi-threaded applications (no locks required to access collections).

  • 関数型プログラミングの方法に従います。Follow functional programming practices.

  • 元のコレクションを維持しながら、列挙中にコレクションを変更します。Modify a collection during enumeration, while ensuring that the original collection does not change.

変更できないコレクションクラスは .NET Core で使用できますが、.NET Framework と共に配布されるコアクラスライブラリの一部ではありません。The immutable collection classes are available with .NET Core, however they're not part of the core class library distributed with the .NET Framework. これらは、NuGet を使用した .NET Framework 4.5 以降で使用できます。They're available starting with the .NET Framework 4.5 via NuGet.

NuGet を使用して変更できないコレクションをインストールするには:To install the immutable collections via NuGet:

  1. Visual Studio でプロジェクトを開き、[プロジェクト] メニューの [NuGet パッケージの管理] を選択します。Open your project in Visual Studio and choose Manage NuGet Packages from the Project menu.

  2. 必要に応じて、[プレリリースを含める] チェックボックスをオンにします。Optionally, select the Include prerelease checkbox. このオプションによって、使用可能になったときに、変更できないクラスの新しいプレリリース バージョンにアクセスできます。This option will give you access to new prerelease versions of the immutable classes, as they become available.

  3. 検索ボックスを使用して、変更できないパッケージを見つけます。Use the Search box to locate the System.Collections.Immutable package.

  4. 左側のウィンドウで、[変更不可のパッケージ] を選択します。In the left pane, select the System.Collections.Immutable package. 右側のウィンドウで、目的のバージョンを選択し、[インストール] を選択します。In the right pane, select the desired version and then choose Install.

上記のインストール手順は、Visual Studio 2015 を対象としています。The installation steps described above are for Visual Studio 2015. その他のバージョンの Visual Studio では、ユーザーインターフェイス (UI) の違いにより、手順が若干異なる場合があります。For other versions of Visual Studio, the steps might be slightly different because of differences in the user interface (UI).