我有一个带有值的多维数组。我使用两个for循环来遍历每个项目并为它们添加一个值。虽然在数组中它们返回正确的值,但是当它退出并且我得到它的值时它完全不同。例如:
[[1,1],[2,2],[3,3]]
[[2,2],[3,3],[4,4]]
[[50,50][65,65][90,90]]
它似乎随机改变。
int[,] squareB = baseSquare;
int[,] squareC = baseSquare;
int[,] squareD = baseSquare;
Console.WriteLine("{0}", squareB[0, 1]);
for (int x = 0; x < sub; ++x)
{
for (int y = 0; y < sub; ++y)
{
squareB[x, y] += 9;
Console.WriteLine("{0}", squareB[x, y]);
squareC[x, y] += 18;
squareD[x, y] += 27;
}
}
Console.WriteLine("{0}", squareB[0, 1]);
答案 0 :(得分:4)
您在每次循环迭代时修改完全相同的数组树时间:
squareB[x, y] += 9;
squareC[x, y] += 18;
squareD[x, y] += 27;
这些都改变了完全相同的值。