Поделиться через


StringReader.ReadBlockAsync Метод

Определение

Перегрузки

ReadBlockAsync(Memory<Char>, CancellationToken)

Асинхронно считывает все символы из входной строки, начиная с текущей позиции, и перемещает текущую позицию в конец входной строки.

ReadBlockAsync(Char[], Int32, Int32)

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

ReadBlockAsync(Memory<Char>, CancellationToken)

Исходный код:
StringReader.cs
Исходный код:
StringReader.cs
Исходный код:
StringReader.cs

Асинхронно считывает все символы из входной строки, начиная с текущей позиции, и перемещает текущую позицию в конец входной строки.

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.

Возвращаемое значение

Задача, представляющая асинхронную операцию чтения. Значение параметра TResult содержит общее число символов (в байтах), считанных в буфер.

Исключения

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

ReadBlockAsync(Memory<Char>, CancellationToken) вызывает ReadBlock(Span<Char>) асинхронно, который, в свою очередь, вызывает Read(Span<Char>) напрямую.

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

ReadBlockAsync(Char[], Int32, Int32)

Исходный код:
StringReader.cs
Исходный код:
StringReader.cs
Исходный код:
StringReader.cs

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

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 параметром, или пока не будет достигнут конец строки.

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