gpt4 book ai didi

c# - StreamReader.Read 和 StreamReader.ReadBlock 之间的区别

转载 作者:IT王子 更新时间:2023-10-29 04:13:02 26 4
gpt4 key购买 nike

文档只是说 ReadBlock 是

“Read 的阻塞版本”

但这意味着什么?

之前有人问过这个问题,嗯?

http://www.pcreview.co.uk/forums/thread-1385785.php

回答的人说

Basically, it means that you can rely on StreamReader.ReadBlock not returning until either it's read as much as you've asked it to, or it's reached the end of the stream.

我是否正确理解这是必需的,因为 Read 可能无法为您提供所需的一切?仅仅因为它返回 0 并不意味着您已到达文件末尾?

所以这意味着检查返回的字节数以外的其他内容(EndOfStream?)还是改用 ReadBlock?

最佳答案

ReadBlock并不代表它是线程安全的。如果您使用 Reflector 查看 StreamReader.ReadBlock(继承自 TextReader.ReadBlock)的实现,它所做的就是多次调用“Read”方法,直到“Read”方法返回 0 或我们读取为请求的字节数。这是必需的,因为“读取”方法不一定会返回您要求的字节数。

关于c# - StreamReader.Read 和 StreamReader.ReadBlock 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/592244/

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