我正在编写一个大型应用程序,其中涉及来自进程或文件流的一些流式传输。我有两个不同方法的示例来检测流的结束。我很好奇有什么不同,哪一个最好用?效率或性能有什么不同吗?此外,在.NET参考指南中,我注意到他们检查了ReadAllLines
等方法中的null,这些方法来自文件(类似于下面的示例2),所以为什么他们不使用{{1} }?
示例1:
EndOfStream
示例2:
...
StreamReader std_out = myProcess.StandardOutput;
while (!std_out.EndOfStream)
{
string rLine = std_out.ReadLine();
//Do something...
}
...
干杯。
答案 0 :(得分:4)
没有实际差异。尽管文档的读取方式如何,EndOfStream
仅在当前缓冲的流位置位于流的末尾时返回true
(即,当您实际读取时)所有文字)。
因此,它归结为哪一个看起来更好,和/或哪一个更适合您正在编写的代码结构。