Допустим, пользователь вводит в консоль ряд некоторых чисел. Как сделать, чтобы ему нужно было вводить их через пробел, и каждое из чисел считывалось как отдельное? Например я ввожу: "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);
Комментариев нет:
Отправить комментарий