DeflateStream.ReadAsync メソッド

定義

オーバーロード

ReadAsync(Memory<Byte>, CancellationToken)

現在の Deflate ストリームからバイト シーケンスを非同期に読み取り、バイト メモリの範囲に書き込んで、読み取られたバイト数だけ Deflate ストリーム内の位置を進め、キャンセル要求を監視します。

ReadAsync(Byte[], Int32, Int32, CancellationToken)

現在の Deflate ストリームからバイト シーケンスを非同期に読み取り、バイト配列に書き込んで、読み取られたバイト数だけ Deflate ストリーム内の位置を進め、キャンセル要求を監視します。

ReadAsync(Memory<Byte>, CancellationToken)

現在の Deflate ストリームからバイト シーケンスを非同期に読み取り、バイト メモリの範囲に書き込んで、読み取られたバイト数だけ Deflate ストリーム内の位置を進め、キャンセル要求を監視します。

public override System.Threading.Tasks.ValueTask<int> ReadAsync (Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

パラメーター

buffer
Memory<Byte>

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

cancellationToken
CancellationToken

キャンセル要求を監視するためのトークン。 既定値は None です。

戻り値

ValueTask<Int32>

非同期の読み取り操作を表すタスク。バッファーに読み取られたバイト数の合計がラップされます。 要求しただけのバイト数を読み取ることができなかった場合、結果の値はバッファーに割り当てられているバイト数より小さくなります。Deflate ストリームの末尾に到達した場合は 0 (ゼロ) になることがあります。

注釈

この ReadAsync メソッドを使用すると、メイン スレッドをブロックすることなく、リソースを大量に消費する I/O 操作を実行できます。 このパフォーマンスに関する考慮事項は、時間のかかるストリーム操作によって UI スレッドがブロックされ、アプリが動作していないと見なされる可能性がある Windows 8.x Store アプリまたはデスクトップ アプリで特に重要です。 非同期メソッドは、Visual Basic および C# の and async キーワードと await 組み合わせて使用されます。

プロパティを使用して、 CanRead 現在のインスタンスが読み取りをサポートしているかどうかを判断します。

操作が完了する前に取り消された場合、返されるタスクにはプロパティの値がTaskStatus.CanceledTask.Status含まれます。

適用対象

ReadAsync(Byte[], Int32, Int32, CancellationToken)

現在の Deflate ストリームからバイト シーケンスを非同期に読み取り、バイト配列に書き込んで、読み取られたバイト数だけ Deflate ストリーム内の位置を進め、キャンセル要求を監視します。

public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ array, int offset, int count, System::Threading::CancellationToken cancellationToken);
public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] array, int offset, int count, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (array As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)

パラメーター

arraybuffer
Byte[]

データを書き込むバッファー。

offset
Int32

Deflate ストリームからのデータの書き込み開始位置を示す array 内のバイト オフセット。

count
Int32

読み取る最大バイト数。

cancellationToken
CancellationToken

キャンセル要求を監視するためのトークン。 既定値は None です。

戻り値

Task<Int32>

非同期の読み取り操作を表すタスク。array に読み取られたバイト数の合計がラップされます。 現在使用できるバイト数が要求した数より小さい場合、結果の値は要求したバイト数より小さくなることがあります。また、Deflate ストリームの末尾に到達した場合は 0 になることがあります。

注釈

この ReadAsync メソッドを使用すると、メイン スレッドをブロックすることなく、リソースを大量に消費する I/O 操作を実行できます。 このパフォーマンスに関する考慮事項は、時間のかかるストリーム操作によって UI スレッドがブロックされ、アプリが動作していないと見なされる可能性がある Windows 8.x Store アプリまたはデスクトップ アプリで特に重要です。 非同期メソッドは、Visual Basic および C# の and async キーワードと await 組み合わせて使用されます。

プロパティを使用して、 CanRead 現在のインスタンスが読み取りをサポートしているかどうかを判断します。

操作が完了する前に取り消された場合、返されるタスクにはプロパティの値がTaskStatus.CanceledTask.Status含まれます。

適用対象