假设我有这样的财产:
public int[] MyProperty
{
get;
set;
}
调用代码可以随意更改数组的值,也可以替换数组本身。这可以通过隐藏 setter 来轻松防止,如下所示:
public int[] MyProperty
{
get;
private set;
}
这允许调用代码更改值,但不能将数组更改为不同的数组,或更改大小。
此模式适用于多维数组,但不适用于锯齿状数组。如果我有这个:
public int[][] MyProperty
{
get;
private set;
}
主数组不能修改,子数组可以。如果我想让子数组只读,以便调用代码可以更改元素,但不能更改数组,该怎么办?
如何仅使交错数组的元素可修改?这包括 3D 及更高版本。