gpt4 book ai didi

c# - 使用 EndOfStream 和检查 null 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 09:23:26 25 4
gpt4 key购买 nike

我正在编写一个大型应用程序,其中涉及来自进程或文件流的一些流。下面有两个示例,展示了检测流结束的不同方法。我很好奇有什么区别以及哪一个最好使用?效率或性能有什么区别吗?另外,在 .NET 引用指南中,我注意到他们在从文件流式传输的 ReadAllLines 等方法中检查 null(类似于下面的示例 2),那么为什么他们不使用 流结束

示例 1:

...
StreamReader std_out = myProcess.StandardOutput;

while (!std_out.EndOfStream)
{
string rLine = std_out.ReadLine();
//Do something...
}
...

示例 2:

...
string rLine;
StreamReader std_out = myProcess.StandardOutput;

while ((rLine = std_out.ReadLine()) != null)
{
//Do something...
}
...

干杯。

最佳答案

没有实际差异。不管文档如何阅读,EndOfStream 仅在当前缓冲流位置位于流末尾时(即当您实际上已经阅读了所有文字)。

因此,归根结底,哪一个对您来说看起来更好和/或哪一个更适合您正在编写的代码的结构。

关于c# - 使用 EndOfStream 和检查 null 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26728699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com