真正基本的c#数组/循环混淆
本文关键字:循环 数组 | 更新日期: 2023-09-27 18:10:27
我在c#中做一个基本的2D数组,我有点困惑。
我更习惯使用以1为基础的数组,所以以0为基础的数组有点让我头疼,如果你明白我的意思。
blocks = new Block[15, 999];
for (int x = 0; x <= 15; x++)
{
for (int y = 0; y <= 999; y++)
{
blocks[x, y] = new Dirt(terrainTexture, new Vector2(x * 16, y * 16));
}
}
它告诉我,我超出了数组的边界?
如果数组来自
0-15, 0 - 999
从0- 15,0 -999的循环不应该工作吗?
不是。999是数组的长度。因此,它是从0-998开始的,当你循环遍历它时,你应该习惯使用"小于"而不是"小于或等于"——这样它就会出现正确的结果。
您有15和999个元素,但由于数组是0索引的,这意味着它们分别从0-14和0-998运行。