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)

Параметры

buffer
Memory<Char>

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

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

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