为什么在 Microsoft Immutable Collections NuGet 包版本1.0.34中似乎没有ImmutableArray?
问问题
1832 次
2 回答
7
ImmutableArray
不在您的库版本中。
正如您在版本历史中看到的,1.1.20 的发行说明提到“重新包含 ImmutableArray<T>”
您可以在此公告中找到 .NET 博客上的 1.0 版本中缺少 ImmutableArray 的解释。(简而言之 - 当 Roslyn 团队尝试使用该类型而不是常规数组时,他们的性能受到了显着影响,而负责该库的团队不知道如何解决这个问题,同时保持合理的 API。)
您将在其新的 NuGet 包下找到该库的较新版本,System.Collections.Immutable
.
NB:根据新版本的源代码System.Collections.Immutable
,他们显然已经决定接受 API 的打击——也就是说,在 unialized 上的一些操作ImmutableArray
会抛出一个令人惊讶NullReferenceException
的 s。显然,永远不ImmutableArray
应该用. (应改为使用)new
ImmutableArray<T>.Empty
于 2015-03-26T08:32:05.423 回答
1
从文档中:
public static class ImmutableArray
是staticImmutableArray
,所以你不能实例化它。利用:
ImmutableArray.Create<T>(); // Creates an empty immutable array
于 2015-03-26T08:19:15.907 回答