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 。 當到達資料流結尾且 throwOnEndOfStreamfalse時,這會小於 minimumBytes 。 如果目前無法使用許多位元組,這可以小於緩衝區中配置的位元元組數目。

例外狀況

minimumBytes 為負數,或大於 的 buffer長度。

throwOnEndOfStreamtrue ,而且數據流的結尾會在讀取 minimumBytes 數據的位元組之前到達。

備註

minimumBytes 為 0 (零) 時,此讀取作業將會完成,而不需要等待數據流中的可用數據。

適用於