TextReader.ReadAsync Метод

Определение

Перегрузки

Имя Описание
ReadAsync(Memory<Char>, CancellationToken)

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

ReadAsync(Char[], Int32, Int32)

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

ReadAsync(Memory<Char>, CancellationToken)

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

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

public virtual System.Threading.Tasks.ValueTask<int> ReadAsync(Memory<char> buffer, System.Threading.CancellationToken cancellationToken = default);
abstract member ReadAsync : Memory<char> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
override this.ReadAsync : Memory<char> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overridable Function ReadAsync (buffer As Memory(Of Char), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Параметры

buffer
Memory<Char>

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

cancellationToken
CancellationToken

Маркер для отслеживания запросов на отмену. Значение по умолчанию — None.

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

Задача значения, представляющая асинхронную операцию чтения. Значение параметра типа содержит число символов, которые были прочитаны или 0, если в конце потока и данные не были прочитаны. Число будет меньше или равно buffer длине в зависимости от того, доступны ли данные в потоке.

Исключения

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

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

ReadAsync(Char[], Int32, Int32)

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

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

public:
 virtual System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <char> ^ buffer, int index, int count);
public virtual System.Threading.Tasks.Task<int> ReadAsync(char[] buffer, int index, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual System.Threading.Tasks.Task<int> ReadAsync(char[] buffer, int index, int count);
abstract member ReadAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
override this.ReadAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member ReadAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
override this.ReadAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
Public Overridable Function ReadAsync (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 параметром, считывается или заканчивается файл.

Класс TextReader является абстрактным классом. Поэтому вы не создаете экземпляр в коде. Пример использования ReadAsync метода см. в описании StreamReader.ReadAsync метода.

Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых Read(Char[], Int32, Int32).

См. также раздел

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