C# - 循环输入直到EOF

时间:2016-12-02 03:14:49

标签: 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中,但似乎并非所有输入都分配到列表中。

输出:

enter image description here

输出应为:

  

     

B'/ P>      

C

     

d

感谢您的帮助;

2 个答案:

答案 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调用就足够了。