请考虑以下代码。
在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