在C#中每行读取一个字符串行

可能重复:
在.net中的换行符上拆分字符串的最简单方法?

我正在尝试读出并解释每行的字符串行。 我看了一下StringReader类,但是当我在最后一行时,我需要找出它。 这是我想要完成的一些伪代码:

while (!stringReaderObject.atEndOfStream()) { interpret(stringReaderObject.readLine()); } 

有人知道怎么做吗?

谢谢!

伊凡

如果您从文件中读取它,则更容易做到:

 foreach(var myString in File.ReadAllLines(pathToFile)) interpret(myString); 

如果从其他地方(Web服务类等)获取字符串,则分割字符串更简单:

 foreach(var myString in entireString.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)) interpret(myString); 

执行readLine时检查null – 请参阅文档 。

StreamReader类具有EndOfStream属性。 你有没有考虑过使用它?

我不确定你在哪里读书。 如果它来自控制台,您可以检查输入字符串的结尾,如“退出”以表示输入结束

 String input; while((input = reader.readLine()) != "quit"){ // do something } 

像这样:

 string line; while (null != (line = reader.ReadLine()) { Process(line); } 

解雇是正确的:

http://msdn.microsoft.com/en-us/library/system.io.streamreader.endofstream.aspx

 while (!reader.EndOfStream) { string line = reader.ReadLine(); }