У меня есть намного более простое решение, я использую оператор switch и пишу сообщение для пользователя в каждом случае, используя Console.write (), начинающийся с ("\ n").
Вот пример заполнения массива циклом for при вводе пользовательского ввода.* Примечание: вам не нужно писать цикл for, чтобы это работало * Попробуйте этот пример с целочисленным массивом с именем arrayOfNumbers [] и временной переменной integer.Запустите этот код в отдельном консольном приложении и посмотрите, как можно вводить данные пользователя в одной строке!
int temp=0;
int[] arrayOfNumbers = new int[5];
for (int i = 0; i < arrayOfNumbers.Length; i++)
{
switch (i + 1)
{
case 1:
Console.Write("\nEnter First number: ");
//notice the "\n" at the start of the string
break;
case 2:
Console.Write("\nEnter Second number: ");
break;
case 3:
Console.Write("\nEnter Third number: ");
break;
case 4:
Console.Write("\nEnter Fourth number: ");
break;
case 5:
Console.Write("\nEnter Fifth number: ");
break;
} // end of switch
temp = Int32.Parse(Console.ReadLine()); // convert
arrayOfNumbers[i] = temp; // filling the array
}// end of for loop
Волшебная хитрость в том, что вы обманываете консольное приложение, секрет в том, что вы вводите данные пользователя в той же строке, на которой пишете свое сообщение.(message => "Введите первое число:")
Это делает ввод данных пользователем похожим на вставку в той же строке.Я признаю, что это немного примитивно, но оно делает то, что вам нужно, не тратя время на сложный код для такой простой задачи.