我为1D数组编写了以下代码:
int[] arr= new int[9];
arr=Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse)
它一次获取我的全部输入,并将其转换为数组,同时删除空格。其中输入为1 2 3 4 5 6 7 8 9
。
2D阵列也尝试过这种概念,但仍然无法匹配。这是我的代码,
int[,] arr = new int[3, 3];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
arr[i, j] =Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);
}
}
我的输入是:
1 2 3
4 5 6
7 8 9
解决方案是什么?如何在C#中一次输入整个2D数组?
您应该为每一行调用Console.ReadLine
,然后输入值:
int[,] arr = new int[3, 3];
for (int i = 0; i < 3; i++)
{
int[] temp = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);
for (int j = 0; j < 3; j++)
{
arr[i, j] = temp[j];
}
}