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).