StreamReader.ReadBlockAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
| Имя | Описание |
|---|---|
| ReadBlockAsync(Memory<Char>, CancellationToken) |
Асинхронно считывает символы из текущего потока и записывает данные в буфер. |
| ReadBlockAsync(Char[], Int32, Int32) |
Считывает указанное максимальное количество символов из текущего потока асинхронно и записывает данные в буфер, начиная с указанного индекса. |
ReadBlockAsync(Memory<Char>, CancellationToken)
Асинхронно считывает символы из текущего потока и записывает данные в буфер.
public override System.Threading.Tasks.ValueTask<int> ReadBlockAsync(Memory<char> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadBlockAsync : Memory<char> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadBlockAsync (buffer As Memory(Of Char), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
Параметры
При возврате этого метода содержит указанный блок памяти символов, замененных символами, считываемыми из текущего источника.
- cancellationToken
- CancellationToken
Маркер для отслеживания запросов на отмену. Значение по умолчанию — None.
Возвращаемое значение
Задача значения, представляющая асинхронную операцию чтения. Значение параметра типа задачи значения содержит общее количество символов, считываемых в буфер. Значение результата может быть меньше числа символов, запрошенных, если число символов, доступных в данный момент, меньше запрошенного числа или может быть равно 0 (ноль), если достигнут конец потока.
Исключения
Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.
Применяется к
ReadBlockAsync(Char[], Int32, Int32)
Считывает указанное максимальное количество символов из текущего потока асинхронно и записывает данные в буфер, начиная с указанного индекса.
public:
override System::Threading::Tasks::Task<int> ^ ReadBlockAsync(cli::array <char> ^ buffer, int index, int count);
public override System.Threading.Tasks.Task<int> ReadBlockAsync(char[] buffer, int index, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public override System.Threading.Tasks.Task<int> ReadBlockAsync(char[] buffer, int index, int count);
override this.ReadBlockAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.ReadBlockAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadBlockAsync (buffer As Char(), index As Integer, count As Integer) As Task(Of Integer)
Параметры
- buffer
- Char[]
При возврате этого метода содержит указанный массив символов со значениями между index и (index + count - 1), замененными символами, считываемыми из текущего источника.
- index
- Int32
Позиция, с которой buffer начать писать.
- count
- Int32
Максимальное число символов для чтения. Если конец потока достигается до того, как указанное число символов записывается в буфер, метод возвращается.
Возвращаемое значение
Задача, представляющая асинхронную операцию чтения. Значение TResult параметра содержит общее количество символов, считываемых в буфер. Значение результата может быть меньше числа символов, запрошенных, если число символов, доступных в данный момент, меньше запрошенного числа или может быть равно 0 (ноль), если достигнут конец потока.
- Атрибуты
Исключения
buffer равно null.
index или count отрицательный.
index Сумма и count больше длины буфера.
Поток удален.
В настоящее время средство чтения используется предыдущей операцией чтения.
Комментарии
Задача не завершается до тех пор, пока не будет прочитано число символов, указанных count параметром, или конец потока будет достигнут.
Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых ReadBlock(Char[], Int32, Int32).