Mas*_*ick 2 c# null stream while-loop
我正在编写一个大型应用程序,其中涉及来自进程或文件流的一些流。下面有两个示例,展示了检测流结束的不同方法。我很好奇有什么区别以及哪一个最好使用?效率或性能有什么区别吗?另外,在 .NET 参考指南中,我注意到他们在方法中检查 null ,例如ReadAllLines
从文件中流式传输(类似于下面的示例 2),那么为什么他们不使用EndOfStream
?
示例1:
...
StreamReader std_out = myProcess.StandardOutput;
while (!std_out.EndOfStream)
{
string rLine = std_out.ReadLine();
//Do something...
}
...
Run Code Online (Sandbox Code Playgroud)
示例2:
...
string rLine;
StreamReader std_out = myProcess.StandardOutput;
while ((rLine = std_out.ReadLine()) != null)
{
//Do something...
}
...
Run Code Online (Sandbox Code Playgroud)
干杯。
没有实际区别。无论文档如何读取,仅当当前缓冲流位置位于流末尾时(即当您实际读取所有文本时)才EndOfStream
返回。true
因此,这取决于哪一个对您来说更好和/或哪一个更适合您正在编写的代码的结构。
归档时间: |
|
查看次数: |
1082 次 |
最近记录: |