使用foreach循环将值循环到二维数组中?

时间:2014-08-27 09:27:39

标签: c# arrays foreach console.readline

所以我试图使用foreach将值循环到二维数组中。我知道代码看起来应该是这样的。

        int calc = 0;
        int[,] userfields = new int[3,3];

        foreach (int userinput in userfields)
        {

            Console.Write("Number {0}: ", calc);
            calc++;
            userfields[] = Convert.ToInt32(Console.ReadLine());
        }

这是我能得到的。我尝试使用

userfields[calc,0] = Convert.ToInt32(Console.ReadLine());

但显然这不适用于二维数组。我对C#比较新,我正在努力学习,所以我很感谢所有答案。

提前致谢!

1 个答案:

答案 0 :(得分:4)

这是二维数组,顾名思义它有二维。因此,当您想要分配值时,需要指定两个索引。像:

// set second column of first row to value 2
userfield[0,1] = 2; 

在这种情况下,你可能想要一个for循环:

for(int i = 0; i < userfield.GetLength(0); i++)
{
    for(int j = 0; j < userfield.GetLength(1); j++)
    {
       //TODO: validate the user input before parsing the integer
       userfields[i,j] = Convert.ToInt32(Console.ReadLine());
    }
}

有关更多信息,请查看: