次の方法で共有


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

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

戻り値

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

例外

minimumBytes が負の値であるか、 の長さ bufferより大きい。

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

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

注釈

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

適用対象