在C#中是否有任何已建立的返回只读二维数组的方法?
我知道{1}用于1-d数组是正确的,我很乐意编写自己的包装类来实现ReadOnlyCollection
。但如果这个轮子已经存在,我不想重新发明轮子。
答案 0 :(得分:3)
不幸的是,没有任何内置的实现来处理你要求的案例。 但是,你自己的一个简单的实现,应该是困难的。
唯一的想法,我希望你知道,你会做的是一个只读集合,但该集合中的不是元素。
希望这有帮助。
答案 1 :(得分:1)
只有一种方法可以模拟这种情况。
您需要使用私有数组创建自己的类。
数组最相似的实现是索引器:
'10 .8'链接显示了二维数组的模拟。
如果仅使用getter实现索引器,则用户只能读取元素,但不能写入元素。但是,如果每个元素都是一个对象(引用类型),则无法阻止修改所访问的对象属性。
但是,有几种方法可以模拟“只读”对象:
int
)在其他语言(如C ++)中,有引用和指向常量值的指针,但这在C#中不存在。