Держите целочисленные входы в массив - PullRequest
1 голос
/ 31 марта 2012

Я пытаюсь удерживать целочисленные входные данные в массиве, но это не работает.Я нашел пример для удержания строки из Как заполнить массив из пользовательского ввода C #?

string[] yazi = new string[15];
for (int i = 0; i < yazi.Length; i++)
{
      yazi[i] = Console.ReadLine();
}

Но когда я превращаю этот код в целое число, выдается ошибка

int[] sayis = new int[20];
for (int k = 0; k < sayis.Length; k++)
{
      sayis[k] = int.Parse(Console.ReadLine());
}

Я что-то упустил?

1 Ответ

6 голосов
/ 31 марта 2012

Я что-то пропустил?

Сообщение об ошибке, с одной стороны ...

Это должно быть хорошо - если вы вводите целые числа в консоли,(Я только что попробовал, и он работал отлично.) Если пользователь вводит значение, которое не может быть проанализировано как целое число, вы получите FormatException.Вам следует рассмотреть возможность использования int.TryParse вместо этого ..., который установит значение в параметре out и вернет, действительно ли оно успешно выполнено.Например:

for (int k = 0; k < sayis.Length; k++)
{
    string line = Console.ReadLine();
    if (!int.TryParse(line, out sayis[k]))
    {
        Console.WriteLine("Couldn't parse {0} - please enter integers", line);
        k--; // Go round again for this index
    }
}
...