Stream.ReadExactlyAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Асинхронно считывает байты из текущего потока, перемещает позицию в потоке |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Асинхронно считывает |
ReadExactlyAsync(Memory<Byte>, CancellationToken)
- Исходный код:
- 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
Параметры
- cancellationToken
- CancellationToken
Токен для отслеживания запросов отмены.
Возвращаемое значение
Задача, представляющая асинхронную операцию чтения.
Исключения
Конец потока достигается до заполнения buffer
.
Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.
Комментарии
Если buffer
параметр пуст, эта операция чтения будет завершена без ожидания доступных данных в потоке.
Применяется к
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)
- Исходный код:
- 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).