我有一个具有布尔数组成员的类。如果我修改此数组的元素,则应创建该实例的新修改副本。听起来像是使用不可变类型的绝佳机会。谷歌搜索显示微软提供了一个新的库不可变集合,它非常适合另一个用例。但不适用于上述 bool 数组成员。
看似合适的类型 ImmutableArray 已被暂时删除,并且文档似乎也没有包含索引器。潜在的替代 ImmutableList 不适用于结构。我不愿意介绍另一个第三方库,所以我想知道我有哪些选项以及应该选择哪些选项。
我可以创建一个 Bool 类来满足引用类型的要求。或者我可以使用 BitArray,但尝试像这样使用失败并出现编译错误:
IReadOnlyList<BitArray> test = new IReadOnlyList<BitArray>(new BitArray());
所以有什么想法我应该做什么?