DeflateStream.ReadAsync Метод

Определение

Перегрузки

ReadAsync(Memory<Byte>, CancellationToken)

Асинхронно считывает последовательность байтов из текущего потока Deflate, записывает их в диапазон памяти байтов, перемещает позицию в потоке Deflate на число считанных байтов и отслеживает запросы отмены.Asynchronously reads a sequence of bytes from the current Deflate stream, writes them to a byte memory range, advances the position within the Deflate stream by the number of bytes read, and monitors cancellation requests.

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

Асинхронно считывает последовательность байтов из текущего потока Deflate, записывает их в массив байтов, перемещает позицию в потоке Deflate на число считанных байтов и отслеживает запросы отмены.Asynchronously reads a sequence of bytes from the current Deflate stream, writes them to a byte array, advances the position within the Deflate stream by the number of bytes read, and monitors cancellation requests.

ReadAsync(Memory<Byte>, CancellationToken)

Асинхронно считывает последовательность байтов из текущего потока Deflate, записывает их в диапазон памяти байтов, перемещает позицию в потоке Deflate на число считанных байтов и отслеживает запросы отмены.Asynchronously reads a sequence of bytes from the current Deflate stream, writes them to a byte memory range, advances the position within the Deflate stream by the number of bytes read, and monitors cancellation requests.

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 = null) As ValueTask(Of Integer)

Параметры

buffer
Memory<Byte>

Область памяти, в которую будут записываться данные.The region of memory to write the data into.

cancellationToken
CancellationToken

Маркер для отслеживания запросов на отмену.The token to monitor for cancellation requests. Значение по умолчанию — None.The default value is None.

Возвращаемое значение

ValueTask<Int32>

Задача, которая представляет асинхронную операцию чтения, которая переносит общее число считанных байтов в буфер.A task that represents the asynchronous read operation, which wraps the total number of bytes read into the buffer. Итоговое значение может быть меньше количества выделенных в буфере байтов, если столько байтов в настоящее время недоступно, или оно может равняться нулю (0), если был достигнут конец потока Deflate.The result value can be less than the number of bytes allocated in the buffer if that many bytes are not currently available, or it can be 0 (zero) if the end of the Deflate stream has been reached.

Комментарии

Метод ReadAsync позволяет выполнять ресурсоемкие операции ввода-вывода без блокировки основного потока.The ReadAsync method enables you to perform resource-intensive I/O operations without blocking the main thread. Это соображение, связанное с производительностью, особенно важно в приложениях Магазин Windows 8.xWindows 8.x Store и для настольных системdesktop , где длительная потоковая операция может блокировать поток пользовательского интерфейса и создавать впечатление, что приложение не работает.This performance consideration is particularly important in a Магазин Windows 8.xWindows 8.x Store app or для настольных системdesktop app where a time-consuming stream operation can block the UI thread and make your app appear as if it is not working. Асинхронные методы используются в сочетании с ключевыми словами async и await в Visual Basic и C#.The async methods are used in conjunction with the async and await keywords in Visual Basic and C#.

Используйте свойство CanRead, чтобы определить, поддерживает ли текущий экземпляр чтение.Use the CanRead property to determine whether the current instance supports reading.

Если операция отменяется до ее завершения, возвращаемая задача содержит TaskStatus.Canceled значение для свойства Task.Status.If the operation is canceled before it completes, the returned task contains the TaskStatus.Canceled value for the Task.Status property.

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

Асинхронно считывает последовательность байтов из текущего потока Deflate, записывает их в массив байтов, перемещает позицию в потоке Deflate на число считанных байтов и отслеживает запросы отмены.Asynchronously reads a sequence of bytes from the current Deflate stream, writes them to a byte array, advances the position within the Deflate stream by the number of bytes read, and monitors cancellation requests.

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 (byte[] array, int offset, int count, System.Threading.CancellationToken cancellationToken);
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)

Параметры

array
Byte[]

Буфер, в который записываются данные.The buffer to write the data into.

offset
Int32

Смещение байтов в array, с которого начинается запись данных из потока Deflate.The byte offset in array at which to begin writing data from the Deflate stream.

count
Int32

Максимальное число байтов для считывания.The maximum number of bytes to read.

cancellationToken
CancellationToken

Маркер для отслеживания запросов на отмену.The token to monitor for cancellation requests. Значение по умолчанию — None.The default value is None.

Возвращаемое значение

Task<Int32>

Задача, которая представляет асинхронную операцию чтения, которая переносит общее число считанных байтов в array.A task that represents the asynchronous read operation, which wraps the total number of bytes read into the array. Значение результата может быть меньше запрошенного числа байтов, если число доступных в данный момент байтов меньше запрошенного числа, или результат может быть равен 0 (нулю), если был достигнут конец потока Deflate.The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the Deflate stream has been reached.

Комментарии

Метод ReadAsync позволяет выполнять ресурсоемкие операции ввода-вывода без блокировки основного потока.The ReadAsync method enables you to perform resource-intensive I/O operations without blocking the main thread. Это соображение, связанное с производительностью, особенно важно в приложениях Магазин Windows 8.xWindows 8.x Store и для настольных системdesktop , где длительная потоковая операция может блокировать поток пользовательского интерфейса и создавать впечатление, что приложение не работает.This performance consideration is particularly important in a Магазин Windows 8.xWindows 8.x Store app or для настольных системdesktop app where a time-consuming stream operation can block the UI thread and make your app appear as if it is not working. Асинхронные методы используются в сочетании с ключевыми словами async и await в Visual Basic и C#.The async methods are used in conjunction with the async and await keywords in Visual Basic and C#.

Используйте свойство CanRead, чтобы определить, поддерживает ли текущий экземпляр чтение.Use the CanRead property to determine whether the current instance supports reading.

Если операция отменяется до ее завершения, возвращаемая задача содержит TaskStatus.Canceled значение для свойства Task.Status.If the operation is canceled before it completes, the returned task contains the TaskStatus.Canceled value for the Task.Status property.

Применяется к