为什么ReadLineAsync在Windows和Linux之间返回不同的结果

时间:2017-12-22 09:29:25

标签: linux windows .net-core

请考虑以下代码。 在Windows上,我在完成的任务的结果中得到额外的\0,但在Linux上我没有。有人可以解释原因吗?

StreamReader _processOutput;

#if (WINDOWS)
    var pipe = new NamedPipeClientStream(".", pipeFile, PipeDirection.In);
    await pipe.ConnectAsync();
#else
    var pipe = File.OpenRead(pipeFile);
#endif

_processOutput = new StreamReader(pipe);

var task = _processOutput.ReadLineAsync();

#if (WINDOWS)
     var result = task.Result.Replace("\0", "");  // <<<<< why do I get \0 ?
#else
     var result = task.Result;
#endif

0 个答案:

没有答案