当您阅读ImmutableArray和ImmutableList的文档时,您可以看到:
ImmutableArray<T>已经实现为一个structImmutableList<T>已经实现为一个class问题:
你能解释一下为什么这样的设计决策吗?
尤其是为什么ImmutableArray<T>是struct。
毕竟,System.Array是一个class,所以为什么ImmutableArray<T>不是这样的呢?
发布于 2020-12-16 00:06:27
本文揭示了将.Net ImmutableArray改为"struct“而不是类的决定:
在阶级和结构之间的选择 ✔️考虑定义一个结构,而不是一个类,如果该类型的实例很小且通常是短暂的,或者通常嵌入到其他对象中。 ❌避免定义结构,除非该类型具有以下所有特征:
在所有其他情况下,您应该将类型定义为类。
也见
https://stackoverflow.com/questions/65315413
复制相似问题