Stream.ReadAtLeastAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从当前流异步读取至少最小字节数,按读取的字节数推进流中的位置,并监视取消请求。
public System.Threading.Tasks.ValueTask<int> ReadAtLeastAsync (Memory<byte> buffer, int minimumBytes, bool throwOnEndOfStream = true, System.Threading.CancellationToken cancellationToken = default);
member this.ReadAtLeastAsync : Memory<byte> * int * bool * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReadAtLeastAsync (buffer As Memory(Of Byte), minimumBytes As Integer, Optional throwOnEndOfStream As Boolean = true, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
参数
- minimumBytes
- Int32
要读入缓冲区的最小字节数。
- throwOnEndOfStream
- Boolean
true
如果在读取 minimumBytes
字节之前到达流的末尾,则引发异常; false
如果返回小于 minimumBytes
到达流的末尾,则返回 。
默认为 true
。
- cancellationToken
- CancellationToken
要监视取消请求的标记。
返回
表示异步读取操作的任务。 其 Result 属性的值包含读入缓冲区的总字节数。 当 为 true
时throwOnEndOfStream
,这保证大于或等于 minimumBytes
。 当到达流的末尾并且 throwOnEndOfStream
为 false
时,此值将小于 minimumBytes
。 如果当前没有可用的字节数,则此值可能小于缓冲区中分配的字节数。
例外
minimumBytes
为负,或大于 的 buffer
长度。
throwOnEndOfStream
为 , true
在读取 minimumBytes
数据字节之前到达流的末尾。
取消令牌已取消。 此异常存储在返回的任务中。
注解
当 为 0 (零) 时 minimumBytes
,此读取操作将完成,而无需等待流中的可用数据。
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈