TextReader.ReadAsync Metoda

Definicja

Przeciążenia

ReadAsync(Memory<Char>, CancellationToken)

Asynchronicznie odczytuje znaki z bieżącego strumienia do bloku pamięci.

ReadAsync(Char[], Int32, Int32)

Odczytuje określoną maksymalną liczbę znaków z bieżącego czytnika tekstu asynchronicznie i zapisuje dane w buforze, zaczynając od określonego indeksu.

ReadAsync(Memory<Char>, CancellationToken)

Asynchronicznie odczytuje znaki z bieżącego strumienia do bloku pamięci.

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)

Parametry

buffer
Memory<Char>

Gdy ta metoda zwraca, zawiera określony blok pamięci znaków zastąpiony przez znaki odczytywane z bieżącego źródła.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania. Wartość domyślna to None.

Zwraca

ValueTask<Int32>

Zadanie wartości reprezentujące operację odczytu asynchronicznego. Wartość parametru typu zawiera liczbę znaków, które zostały odczytane lub 0, jeśli na końcu strumienia nie zostały odczytane żadne dane. Liczba będzie mniejsza lub równa buffer długości, w zależności od tego, czy dane są dostępne w strumieniu.

Dotyczy

ReadAsync(Char[], Int32, Int32)

Odczytuje określoną maksymalną liczbę znaków z bieżącego czytnika tekstu asynchronicznie i zapisuje dane w buforze, zaczynając od określonego indeksu.

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)

Parametry

buffer
Char[]

Gdy ta metoda zwraca, zawiera określoną tablicę znaków z wartościami między index i (index + count - 1) zastąpionymi znakami odczytywanymi z bieżącego źródła.

index
Int32

Pozycja, w buffer której rozpocząć pisanie.

count
Int32

Maksymalna liczba znaków do odczytania. Jeśli koniec tekstu zostanie osiągnięty przed odczytaniem określonej liczby znaków do buforu, bieżąca metoda zwróci wartość .

Zwraca

Task<Int32>

Zadanie reprezentujące operację odczytu asynchronicznego. Wartość parametru TResult zawiera całkowitą liczbę bajtów odczytanych do buforu. Wartość wyniku może być mniejsza niż liczba bajtów żądanych, jeśli liczba obecnie dostępnych bajtów jest mniejsza niż żądana liczba lub może być równa 0 (zero), jeśli osiągnięto koniec tekstu.

Atrybuty

Wyjątki

buffer to null.

index lub count jest ujemny.

Suma index i count jest większa niż długość buforu.

Czytnik tekstu został usunięty.

Czytelnik jest obecnie używany przez poprzednią operację odczytu.

Uwagi

Zadanie zostanie ukończone po odczytaniu liczby znaków określonych przez count parametr lub osiągnięciu końca pliku.

Klasa TextReader jest klasą abstrakcyjną. W związku z tym, nie tworzy się obiektu w kodzie. Aby zapoznać się z przykładem użycia ReadAsync metody, zobacz metodę StreamReader.ReadAsync .

Zobacz też

Dotyczy