假设我有这样的财产:
public int[] MyProperty
{
get;
set;
}
调用代码可以自由更改数组的值,而且还可以替换数组本身。通过隐藏设置器可以轻松防止这种情况,如下所示:
public int[] MyProperty
{
get;
private set;
}
这允许调用代码更改值,但不能将数组更改为其他数组,也不能更改大小。
此模式适用于多维数组,但不适用于锯齿状数组。如果我有这个:
public int[][] MyProperty
{
get;
private set;
}
主数组无法修改,但子数组可以。如果我想让子数组只读,以便调用代码可以更改元素,但不能更改数组,该怎么办?
如何才能仅修改锯齿状数组的元素?这包括 3D 及更高版本。
你应该使用ReadOnlyCollection<int[]> http://msdn.microsoft.com/en-us/library/ms132474.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)