Udostępnij za pośrednictwem


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)

Źródło:
TextReader.cs
Źródło:
TextReader.cs
Źródło:
TextReader.cs

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

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.

Wyjątki

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwróconym zadaniu.

Dotyczy

ReadAsync(Char[], Int32, Int32)

Źródło:
TextReader.cs
Źródło:
TextReader.cs
Źródło:
TextReader.cs

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

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ć 0 (zero), jeśli osiągnięto koniec tekstu.

Atrybuty

Wyjątki

buffer to null.

index lub count jest ujemny.

Suma index wartości 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 .

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez Read(Char[], Int32, Int32)usługę .

Zobacz też

Dotyczy