【发布时间】:2015-01-31 20:38:18
【问题描述】:
在我的井字游戏中,我有一个声明如下的数组:
static char[] boardArray = new char[9]{ '0', '1', '2', '3', '4', '5', '6', '7', '8'};
我有一个
private static void resetBoard(ref char[] arr)
{
for(int i = 0; i < 9; i++) {
arr[i] = (char)i;
}
}
但是当我调用这个方法时:
resetBoard(ref boardArray);
它将所有数组值设置为一个空字符。 为什么会这样?
【问题讨论】:
-
应该是
new char[9]{...}? -
奇怪的是,您的 boardArray 的长度为 5,而您尝试放入 9 个元素
-
@Mysterion:我猜是 OP 输入了这个而不是复制。这也可以解释数组声明后神秘的
b。