101得票6回答
为什么要使用ImmutableList而不是ReadOnlyCollection?

.NET 4.5有一个新的命名空间System.Collections.Immutable 该包提供了线程安全且保证永远不会更改其内容的集合,也称为不可变集合。 我感到困惑。 ReadOnlyCollection类已经解决了线程安全问题,为什么要使用ImmutableList呢? ...

91得票9回答
返回一个ImmutableMap还是一个Map更好?

假设我正在编写一个应当返回Map的方法。例如:public Map<String, Integer> foo() { return new HashMap<String, Integer>(); } 在考虑了一段时间后,我决定创建的这个 Map 没有修改的必要。因此...

58得票5回答
ReadOnlyDictionary和ImmutableDictionary有什么区别?

在C#中,这两个容器在特性或使用情况方面有什么关键区别?在Google上似乎没有任何比较它们的信息。 System.Collections.ObjectModel.ReadOnlyDictionary System.Collections.Immutable.ImmutableDiction...

47得票4回答
ImmutableArray<T>和ImmutableList<T>之间的区别

ImmutableArray&lt;T&gt;和ImmutableList&lt;T&gt;有什么区别,它们各自最适合在哪里使用?

25得票1回答
我需要包含所有System.Collections.Immutable依赖吗?

我刚刚从(旧的)Microsoft.Bcl.Immutable NuGet包切换到System.Collections.Immutable,惊讶地发现我的项目中出现了所有这些新的包依赖:System.Collections System.Diagnostics.Debug System.Glo...

17得票2回答
如何在API之间传递Immutable Collections的最佳模式

在不可变性出现之前,IEnumerable 是许多 API 中的首选接口,因为这种方式具有传递对象的实际类型对 API 不敏感的优点。public void DoSomeEnumerationsWithACollection(IEnumerable&lt;Thing&gt; collectio...

13得票3回答
ImmutableDictionary和ImmutableSortedDictionary哪个更好?

我听说.NET的System.Collections.Immutable集合被实现为平衡二叉树,以满足其不可变性限制,即使像Dictionary这样传统模拟哈希表的集合,也是通过使用GetHashCode的整数值作为排序关键字来实现的。 如果我有一个类型可以很容易地生成哈希码,并且比较成本很...

12得票1回答
按键排序的不可变字典范围枚举

我正在阅读有关C#的ImmutableSortedDictionary在System.Collections.Immutable中的内容,并思考如何将其应用于我的程序。我非常喜欢C++的lower_bound和upper_bound(见这里),而我也相当期望看到类似于范围查找的东西。然而,类似...

10得票2回答
Nuget似乎安装了错误的System.Collections.Immutable版本。

我在使用Nuget时遇到了困惑的问题。我有许多项目声称已安装版本为1.3.0的System.Collections.Immutable,但是如果我查看所有引用中的dll版本,则会看到版本为1.2.1.0。 当我使用JustDecompile打开DLL时,我看到 声明该DLL版本确实为1.2....

9得票1回答
为什么ImmutableList<T>的枚举器速度比List<T>慢这么多?

我有一段代码,经常遍历一个小列表。鉴于这个列表在运行时不会改变,我将其实现替换为ImmutableList&lt;T&gt;。通过dotTrace查看性能跟踪,发现它的性能比普通的List&lt;T&gt;差得多: (左边是List&lt;T&gt;,右边是ImmutableList&lt;...