TextReader.ReadAsync Metoda

Definice

Přetížení

Name Description
ReadAsync(Memory<Char>, CancellationToken)

Asynchronně čte znaky z aktuálního datového proudu do bloku paměti.

ReadAsync(Char[], Int32, Int32)

Přečte zadaný maximální počet znaků z aktuální čtečky textu asynchronně a zapíše data do vyrovnávací paměti počínaje zadaným indexem.

ReadAsync(Memory<Char>, CancellationToken)

Zdroj:
TextReader.cs
Zdroj:
TextReader.cs
Zdroj:
TextReader.cs
Zdroj:
TextReader.cs
Zdroj:
TextReader.cs

Asynchronně čte znaky z aktuálního datového proudu do bloku paměti.

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>

Pokud tato metoda vrátí, obsahuje zadaný blok paměti znaků nahrazené znaky přečtené z aktuálního zdroje.

cancellationToken
CancellationToken

Token pro monitorování žádostí o zrušení. Výchozí hodnota je None.

Návraty

Hodnota úloha, která představuje asynchronní operaci čtení. Hodnota parametru typu obsahuje počet znaků, které byly načteny, nebo 0, pokud na konci datového proudu a nebyla načtena žádná data. Číslo bude menší nebo rovno buffer délce v závislosti na tom, jestli jsou data dostupná v rámci datového proudu.

Výjimky

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Platí pro

ReadAsync(Char[], Int32, Int32)

Zdroj:
TextReader.cs
Zdroj:
TextReader.cs
Zdroj:
TextReader.cs
Zdroj:
TextReader.cs
Zdroj:
TextReader.cs

Přečte zadaný maximální počet znaků z aktuální čtečky textu asynchronně a zapíše data do vyrovnávací paměti počínaje zadaným indexem.

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[]

Pokud tato metoda vrátí, obsahuje zadanou znakovou matici s hodnotami mezi index a (index + count - 1) nahrazené znaky přečtenými z aktuálního zdroje.

index
Int32

Pozice, ve buffer které začít psát.

count
Int32

Maximální počet znaků, které se mají přečíst. Pokud se konec textu dosáhne před načtením zadaného počtu znaků do vyrovnávací paměti, vrátí aktuální metoda.

Návraty

Úloha, která představuje asynchronní operaci čtení. Hodnota parametru TResult obsahuje celkový počet bajtů načtených do vyrovnávací paměti. Výsledná hodnota může být menší než počet bajtů požadovaných v případě, že je počet bajtů aktuálně k dispozici menší než požadované číslo, nebo může být 0 (nula), pokud byl dosažen konec textu.

Atributy

Výjimky

buffer je null.

index nebo count je negativní.

Součet index a count je větší než délka vyrovnávací paměti.

Čtečka textu byla odstraněna.

Čtečka je aktuálně používána předchozí operací čtení.

Poznámky

Úkol se dokončí po načtení počtu znaků zadaných parametrem count nebo dosažení konce souboru.

Třída TextReader je abstraktní třída. Proto ji v kódu neodstraňujete. Příklad použití ReadAsync metody najdete v StreamReader.ReadAsync metodě.

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Read(Char[], Int32, Int32).

Viz také

Platí pro