Stream.ReadAtLeastAsync メソッド

定義

現在のストリームから少なくとも最小バイト数を非同期に読み取り、読み取ったバイト数でストリーム内の位置を進め、取り消し要求を監視します。

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)

パラメーター

buffer
Memory<Byte>

データを書き込むメモリの領域。

minimumBytes
Int32

バッファーに読み込む最小バイト数。

throwOnEndOfStream
Boolean

trueストリームの末尾がバイトfalseの読み取りminimumBytes前に到達した場合は例外をスローします。ストリームの末尾に達した場合よりもminimumBytes小さい値を返します。 既定では、 trueです。

cancellationToken
CancellationToken

キャンセル要求を監視するためのトークン。

戻り値

ValueTask<Int32>

非同期の読み取り操作を表すタスク。 その Result プロパティの値には、バッファーに読み取られるバイトの合計数が含まれます。 これは、次の場合throwOnEndOfStream以上minimumBytesであることが保証されますtrue。 これは、ストリームの末尾に達したときよりも minimumBytes 小さく、 throwOnEndOfStream 次のようになります false。 この値は、バッファーに割り当てられているバイト数よりも小さい場合があります (そのバイト数が現在使用できない場合)。

例外

minimumBytes が負の値であるか、または .の長さ bufferより大きい値です。

throwOnEndOfStreamtrue 、データのバイトを読み取 minimumBytes る前にストリームの末尾に到達します。

注釈

0 (ゼロ) の場合 minimumBytes 、この読み取り操作は、ストリーム内の使用可能なデータを待機せずに完了します。

適用対象