C# - Цикл ввода до EOF
Это мой код для циклического ввода до eof:
string input;
List<string> s = new List<string>();
while((input = Console.ReadLine()) != null && input != ""){
input = Console.ReadLine();
s.Add(input);
}
foreach(string h in s){
Console.WriteLine(h);
}
Входные данные продолжают циклически повторять каждую строку, пока я не нажму 'ctrl-z'. Каждый вход назначен в список s, но, похоже, не все входы назначены в список s.
выход:
Выход должен быть:
б
с
d
Спасибо за помощь;
2 ответа
Решение
Ты звонил Console.ReadLine()
дважды за каждый цикл. Простое решение - удалить второй звонок.
string input;
List<string> s = new List<string>();
while((input = Console.ReadLine()) != null && input != ""){
s.Add(input);
}
foreach(string h in s){
Console.WriteLine(h);
}
Вы также можете написать оператор while следующим образом:
while (!string.IsNullOrEmpty(input = Console.ReadLine())){
s.Add(input);
}