gpt4 book ai didi

c# - 通过 BinaryReader 从 NetStream 读取的正确方法是什么?

转载 作者:可可西里 更新时间:2023-11-01 02:54:02 24 4
gpt4 key购买 nike

我知道如果你想从一个 netstream 中读取 X 字节:

netStream.Read(buffer, 0, X);

在所有情况下都不够,因为 Read 可能只返回 X 的一部分,因此您需要循环直到读取的字节数等于 X。

然而,另一个示例将 NetStream 包装在 BinaryReader br 中,然后继续:

br.Read(buffer, 0, X);

我的问题是:

这是否有效,因为 NetStream 现在被 BinaryReader 包装了,或者我们是否仍然需要考虑 Read 可能不会返回所有 X 字节并循环,就像从原始 netstream 读取一样?

最佳答案

BinaryReader.Read(byte[], int, int)只是将调用转发到底层流。语义是相同的。然而,对于这种情况,还有辅助方法 BinaryReader.ReadBytes(int) 读取特定数量的字节,因此您不必自己跟踪读取了多少字节.

关于c# - 通过 BinaryReader 从 NetStream 读取的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36408602/

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