ImmutableArray<T>
和ImmutableList<T>
之间有什么区别?哪种情况最适合使用?
答案 0 :(得分:25)
以下是一些可能有助于解释的阅读
http://blogs.msdn.com/b/dotnet/archive/2013/06/24/please-welcome-immutablearray.aspx
这里是一段摘录
使用不可变数组的原因:
坚持使用不可变列表的原因:
答案 1 :(得分:19)
我想你在问两者在哪里使用。这个blog会有所帮助,否则这里会提到一些好处。
在以下情况下使用不可变数组:
在以下情况下使用不可变列表:
答案 2 :(得分:2)
主要区别在于ImmutableArray
只是普通数组的包装,这意味着检索数组中的元素非常快。
ImmutableArray
也是一个结构,意味着它是一个值类型,因此它占用的空间比作为引用类型的不可变列表占用的空间少。
由于这些原因,ImmutableArray
适合使用,如果您很少需要更新其数据或元素数量很少(小于16),或者迭代集合的性能很重要。
如果您的需求与上述原因不符,则应使用ImmutableList
。
在这里查看documentation。
答案 3 :(得分:1)
通过博客文章“Please welcome ImmutableArray<T>”(其他人都在引用的博客文章),差异是......
ImmutableArray
:
ImmutableList
:
因此,如果您的更新不是很多,或者您的馆藏很小,请使用ImmutableArray
。如果您要经常更新大型馆藏,则需要使用ImmutableList
。