阅读每行一个串线在C#
可能重复:
Easiest way to split a string on newlines in .net?阅读每行一个串线在C#
我想读出和解释每行一个串线。我看了一下StringReader类,但是我需要知道什么时候我在最后一行。这里有一些我试图完成的伪代码:
while (!stringReaderObject.atEndOfStream()) {
interpret(stringReaderObject.readLine());
}
有人知道如何做到这一点吗?
谢谢!
伊凡
如果您正在从文件读取它,它是比较容易做只是做:
foreach(var myString in File.ReadAllLines(pathToFile))
interpret(myString);
如果您收到来自其他地方的字符串(网络服务类等)是比较简单刚刚拆分字符串:
foreach(var myString in entireString.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries))
interpret(myString);
我认为这是对我的问题最简单的解决方案。谢谢! – friedkiwi 2010-10-21 17:03:19
如果他的字符串有新行并且他在Unix上,该怎么办? – 2010-10-21 17:05:45
@SB然后我确信他会添加“单声道”和“互操作”标签;-) – 2010-10-21 17:08:00
StreamReader类有一个EndOfStream属性。你有没有使用过?
我不确定你在哪里阅读。如果是从控制台,您可以检查输入的字符串像年底“跳槽”来表示输入结束
String input;
while((input = reader.readLine()) != "quit"){
// do something
}
像这样:
string line;
while (null != (line = reader.ReadLine()) {
Process(line);
}
Dismissile是正确的:
http://msdn.microsoft.com/en-us/library/system.io.streamreader.endofstream.aspx
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
}
不是重复的......两个问题都有不同的解决方案。 – cybermonkey 2016-12-13 16:07:26