語言

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。

傳回

讀取到緩衝區的總位元組數。 當 throwOnEndOfStream 為 true時,這必定大於或等minimumBytes於 。 這個值會比 minimumBytes 當流結束時小,且 throwOnEndOfStream 為 false。 如果緩衝區中分配的位元組數量目前沒有,這可能還要少於分配的位元組數。

例外狀況

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

throwOnEndOfStream 且 true 在讀取 minimumBytes 資料位元組前已到達串流的終點。

備註

當 為 0(零)時 minimumBytes ,此讀取操作將完成而無需等待串流中可用的資料。

適用於