Stream.ReadExactlyAsync Метод

Определение

Перегрузки

Имя Описание
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Асинхронно считывает байты из текущего потока, перемещает положение в потоке до тех пор, пока не buffer будет заполнено, и отслеживает запросы на отмену.

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

Асинхронно считывает количество байтов из текущего потока, перемещает count положение в потоке и отслеживает запросы на отмену.

ReadExactlyAsync(Memory<Byte>, CancellationToken)

Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs

Асинхронно считывает байты из текущего потока, перемещает положение в потоке до тех пор, пока не buffer будет заполнено, и отслеживает запросы на отмену.

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

Параметры

buffer
Memory<Byte>

Буфер для записи данных в.

cancellationToken
CancellationToken

Маркер для отслеживания запросов на отмену.

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

Задача, представляющая асинхронную операцию чтения.

Исключения

Конец потока достигается перед заполнением buffer.

Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.

Комментарии

Когда buffer это пусто, эта операция чтения будет завершена без ожидания доступных данных в потоке.

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

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

Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs

Асинхронно считывает количество байтов из текущего потока, перемещает count положение в потоке и отслеживает запросы на отмену.

public System.Threading.Tasks.ValueTask ReadExactlyAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken = default);
member this.ReadExactlyAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ReadExactlyAsync (buffer As Byte(), offset As Integer, count As Integer, Optional cancellationToken As CancellationToken = Nothing) As ValueTask

Параметры

buffer
Byte[]

Буфер для записи данных в.

offset
Int32

Смещение байтов, с buffer которого начинается запись данных из потока.

count
Int32

Число байтов, считываемых из текущего потока.

cancellationToken
CancellationToken

Маркер для отслеживания запросов на отмену.

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

Задача, представляющая асинхронную операцию чтения.

Исключения

buffer равно null.

offset находится за пределами bufferграниц .

–или–

count отрицательно.

–или–

Диапазон, указанный offset сочетанием и count превышающий длину buffer.

Конец потока достигается перед чтением count числа байтов.

Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.

Комментарии

Если count значение равно 0 (ноль), эта операция чтения будет завершена без ожидания доступных данных в потоке.

Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых ReadExactly(Byte[], Int32, Int32).

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