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