访问阵列时出错
本文关键字:出错 阵列 访问 | 更新日期: 2023-09-27 18:33:22
我收到错误
[] 中的索引数错误;预期为 2
靠近代码底部。我不知道为什么。我正在尝试构建一组数组来操作,但此时我挂断了。
public static void Main (string[] args)
{
Initialize ();
while (true) {
SystemEvents.CheckEvents ();
Update ();
Render ();
}
}
public static void Initialize ()
{
// Set up the graphics system
graphics = new GraphicsContext ();
gen = new Random ();
Texture2D pTex= new Texture2D("Application/assets/plane.png",false);
player= new Sprite(graphics,pTex);
player.Position.X = graphics.Screen.Rectangle.Width / 2 - player.Width / 2;
player.Position.Y = graphics.Screen.Rectangle.Height / 2 - player.Height / 2;
xpos = 0;
ypos = 0;
pieces = new Texture2D[6];
bg = new Sprite[9,12];
pattern = new int[9,12];
for (int i=0; i<6; i++)
pieces [i] = new Texture2D ("Application/assets/island" + i + ".png", false);
for(int i=0; i< pattern.Length; i++)
pattern[i] = gen.Next(0,5); // Problem is here
pattern
是一个二维数组。因此,您需要提供两个索引来访问其值。
如果要用随机值填充pattern
,可以使用两个 for 循环:
for(int i = 0; i<pattern.GetLength(0); i++)
{
for(int j=0; j<pattern.GetLength(1); j++)
{
pattern[i,j] = gen.Next(0,5);
}
}
延伸阅读
- 多维数组(C# 编程指南)
- Array.GetLength Method
我什至没有看到pattern
的声明.但从赋值pattern = new int[9,12];
来看,一定是二维数组。因此,要访问其中的元素,您需要指定两个不同的索引。
您认为new int[9,12];
会创建什么样的数组?