说我有这样的房产:
public int[] MyProperty
{
get;
set;
}
调用代码可以自由更改数组的值,但也可以替换数组本身。通过隐藏setter可以很容易地防止这种情况,如下所示:
public int[] MyProperty
{
get;
private set;
}
这允许调用代码更改值,但不能将数组更改为其他值,或更改大小。
此模式适用于多维数组,但不适用于锯齿状数组。如果我有这个:
public int[][] MyProperty
{
get;
private set;
}
主数组不能修改,但子数组可以。如果我想让子数组只读,那么调用代码可以改变元素,而不是数组呢?
如何才能使锯齿状数组的元素可修改?这包括3D和更高版本。