Страницы

Поиск по вопросам

понедельник, 8 апреля 2019 г.

Как разбить введенные пользователем числа пробелами?

Допустим, пользователь вводит в консоль ряд некоторых чисел. Как сделать, чтобы ему нужно было вводить их через пробел, и каждое из чисел считывалось как отдельное? Например я ввожу: "6 0 73 15", нажимаю enter, и далее мне нужно с этим набором чисел произвести некоторые действия.


Ответ

Попробуйте так
var numbers = Console.ReadLine() .Split(new[] {" "},StringSplitOptions.RemoveEmptyEntries) .Select(Int32.Parse);
foreach(var n in numbers) Console.WriteLine(n);
Давайте рассмотрим, что происходит:
Console.ReadLine() - считывает всю строку с пробелами, что ввел юзер
.Split(new[] {" "},StringSplitOptions.RemoveEmptyEntries) - разбивает считанную строку на несколько строк, используя пробел как сепаратор. То есть была строка "45 67", стало 2 строки "45", "67"
.Select(Int32.Parse); - конвертирует набор строк в набор чисел. То есть были 2 строки "45", "67", стало 2 числа 45, 67
В итоге в numbers будет находится объект - перечисление чисел, которые ввел пользователь. Дальше по коду я перечисляю этот объект, чтобы вывести в консоль.
foreach(var n in numbers) Console.WriteLine(n);

Комментариев нет:

Отправить комментарий