Зацикливание значений в двумерном массиве с циклом foreach?
Поэтому я пытаюсь зациклить значения в двумерном массиве, используя 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 ответ
Решение
Это двумерный массив, как следует из названия, он имеет два измерения. Поэтому вам нужно указать два индекса, когда вы хотите присвоить значение. Подобно:
// 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());
}
}
Для получения дополнительной информации взгляните на: