我正在从我的网络连接中读取一条消息,该消息被序列化为一系列以空字符结尾的字符串(以及其他二进制数据)
我可以使用BinaryReader一次读取一个char,直到找到NULL。
还有一种更有效的方法仍然很简单吗?我期待字符串长度少于64个字符,但它们可能会更长。
答案 0 :(得分:5)
我认为逐字节读取是一个合理的选择,但我会使用BufferedStream来最小化底层流上的IO。
答案 1 :(得分:2)
将整个内容读入字符串,然后使用String.Split拆分空值。
请记住,字符串在.NET中不是以空值终止的。