Stream.ReadAtLeast(Span<Byte>, Int32, Boolean) 方法

定义

从当前流中至少读取最小字节数,并按读取的字节数提升流中的位置。

public int ReadAtLeast (Span<byte> buffer, int minimumBytes, bool throwOnEndOfStream = true);
member this.ReadAtLeast : Span<byte> * int * bool -> int
Public Function ReadAtLeast (buffer As Span(Of Byte), minimumBytes As Integer, Optional throwOnEndOfStream As Boolean = true) As Integer

参数

buffer
Span<Byte>

内存的区域。 此方法返回时,此区域的内容将替换为从当前流中读取的字节。

minimumBytes
Int32

要读取到缓冲区中的最小字节数。

throwOnEndOfStream
Boolean

true 如果在读取 minimumBytes 字节之前到达流的末尾,则引发异常; false 如果返回小于 minimumBytes 达到流末尾的时间。 默认为 true

返回

读入缓冲区中的总字节数。 当 为 truethrowOnEndOfStream,这保证大于或等于 minimumBytes 。 这比 minimumBytes 到达流末尾且 throwOnEndOfStreamfalse时少。 如果多个字节当前不可用,则此值可能小于缓冲区中分配的字节数。

例外

minimumBytes 为负,或大于 的 buffer长度。

throwOnEndOfStream 为 , true 在读取 minimumBytes 数据字节之前到达流的末尾。

注解

当 为 0 (零) 时 minimumBytes ,此读取操作将完成,而无需等待流中的可用数据。

适用于