System.Collections.Immutable 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
包含定义不可变集合的接口和类。
类
结构
ImmutableArray<T>.Enumerator |
数组枚举器。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
ImmutableArray<T> |
表示不可变的数组;这意味着,该数组在创建后不可更改。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
ImmutableDictionary<TKey,TValue>.Enumerator |
枚举不可变字典的内容,而无需分配任何内存。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
ImmutableHashSet<T>.Enumerator |
枚举不可变哈希集的内容,而无需分配任何内存。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
ImmutableList<T>.Enumerator |
枚举二进制树的内容。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
ImmutableQueue<T>.Enumerator |
枚举不可变队列的内容,而无需分配任何内存。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
ImmutableSortedDictionary<TKey,TValue>.Enumerator |
枚举二进制树的内容。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
ImmutableSortedSet<T>.Enumerator |
枚举二进制树的内容。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
ImmutableStack<T>.Enumerator |
枚举不可变堆栈的内容,而无需分配任何内存。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
接口
IImmutableDictionary<TKey,TValue> |
表示键/值对的不可变集合。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
IImmutableList<T> |
表示无法修改的元素的列表。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
IImmutableQueue<T> |
表示对象的不可变先进先出集合。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
IImmutableSet<T> |
表示一个只能通过创建集的新实例进行修改的元素集。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
IImmutableStack<T> |
表示一个不可变后进先出 (LIFO) 集合。 NuGet package: System.Collections.Immutable(关于不可变集合和安装方法) |
注解
使用不可变集合,你可以:
- 共享集合的方式是,其使用者可以放心,该集合永远不会更改。
- 提供多线程应用程序中的隐式线程安全(无需锁来访问集合)。
- 遵循函数编程做法。
- 在枚举过程中修改集合,同时确保该原始集合不会更改。
不可变集合类作为核心 .NET 库的一部分提供,但它们不是通过 .NET Framework 分发的核心类库的一部分。 对于 .NET Framework 4.6.2 及更高版本应用,类可通过 NuGet 包获得。