当从流(对我来说是一个 COM 端口上的流)读取一行时,返回的字符串中不包含 \n 或 \r 字符(或 \r\n 的组合)。为了记录日志,我想保留它们。目前我的循环看起来像这样:
while (newPort.BytesToRead > 0)
{
received = ReadLine(newPort);
response.Add(received);
}
所以基本上我正在读取一个字符串,然后将其添加到名为
response
的字符串列表中。我希望返回的字符串received
包含原始流中的\r或\n或\r\n,以及终止一行文本。这是否是微不足道的可能?甚至是非微不足道的!
我猜这很难做到。我的意思是考虑一下,如果我收到一个\r,我必须获取下一个字符以查看它是否为\n。如果没有下一个字符,则会超时并引发异常。如果有下一个字符且不是\n,则必须将其作为下一次迭代的当前字符,依此类推...!