在for循环中,数组值似乎与不在循环中时不同;t
本文关键字:循环 for 数组 | 更新日期: 2023-09-27 18:30:14
我有一个包含值的多维数组。我使用两个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]);
您在每次循环迭代中修改的数组树时间完全相同:
squareB[x, y] += 9;
squareC[x, y] += 18;
squareD[x, y] += 27;
这些都改变了完全相同的值。