这是我的代码循环输入,直到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中,但似乎并非所有输入都分配到列表中。
输出:
输出应为:
一
B'/ P>
C
d
感谢您的帮助;
答案 0 :(得分: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);
}
答案 1 :(得分:1)
删除第二个readLine调用就足够了。