Некоторые из других ответов здесь повторяются до тех пор, пока не встретится нулевая строка, в то время как другие ожидают, что пользователь напечатает что-то особенное, например «EXIT». Имейте в виду, что чтение с консоли может быть введено человеком или перенаправленным входным файлом:
myprog.exe < somefile.txt
В случае перенаправленного ввода Console.ReadLine () вернет ноль, когда достигнет конца файла. В случае, если пользователь запускает программу в интерактивном режиме, он должен знать, как вводить символ конца файла (Ctrl + Z, затем Enter или F6, затем Enter). Если это интерактивный пользователь, вам может понадобиться сообщить ему, как сигнализировать об окончании ввода.