我想在C#中创建2d数组。大小:5对3,并插入随机数。 我试过,但这不起作用:
Random rnd = new Random();
int[][] lala = new int[3][5];
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
lala[i][j]= rnd.Next(1, 10);
收到错误:'无效的排名说明符','或''
问题是什么?
感谢
答案 0 :(得分:2)
更改阵列声明
int[,] lala = new int[3,5];
和作业操作
lala[i,j]= rnd.Next(1, 10);
使用jagged array的2d数组语法。
或者如果你想使用锯齿状数组,你必须在第一个声明中声明最外层大小,然后在循环中声明内部大小:
Random rnd = new Random();
int[][] lala = new int[3][];
for(int i=0;i<3;i++)
{
lala[i] = new int[5];
for(int j=0;j<4;j++)
lala[i][j]= rnd.Next(1, 10);
}
<强>更新强>
锯齿状阵列的完整代码:
Random rnd = new Random();
int[][] lala = new int[3][];
for (int i = 0; i < lala.Length; i++)
{
lala[i] = new int[5];
for (int j = 0; j < lala[i].Length; j++)
lala[i][j] = rnd.Next(1, 10);
}
和2d数组
Random rnd = new Random();
int[,] lala = new int[3,5];
for (int i = 0; i < lala.GetLength(0); i++)
{
for (int j = 0; j < lala.GetLength(1); j++)
lala[i,j] = rnd.Next(1, 10);
}
答案 1 :(得分:1)
这是:
Random rnd = new Random();
int[,] lala = new int[3,5];
for(int i=0;i<3;i++)
{
for(int j=0;j<5;j++)
{
lala[i, j]= rnd.Next(1, 10);
Console.WriteLine("[{0}, {1}] = {2}", i, j, lala[i,j]);
}
}