【发布时间】:2014-08-01 02:45:40
【问题描述】:
在微软网站的例子中有以下代码:
class TestRef
{
static void FillArray(ref int[] arr)
{
// Create the array on demand:
if (arr == null)
{
arr = new int[10];
}
// Fill the array:
arr[0] = 1111;
arr[4] = 5555;
}
}
如果我删除if (arr == null)这一行,错误输出将是0 0 0 0 0而不是1 2 3 4 5。为什么?
【问题讨论】:
-
如果创建
new int[]数组,所有元素都初始化为0。这是你问的吗? -
int 是原始类型,所以它的默认值总是 0。