TextReader.ReadAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
ReadAsync(Memory<Char>, CancellationToken) |
Asynchronně přečte znaky z aktuálního datového proudu do bloku paměti. |
ReadAsync(Char[], Int32, Int32) |
Přečte asynchronně zadaný maximální počet znaků z aktuální čtečky textu 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
Asynchronně přeč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
Když tato metoda vrátí, obsahuje zadaný paměť blok znaků nahrazen znaky přečtené z aktuálního zdroje.
- cancellationToken
- CancellationToken
Token, který se má monitorovat pro žádosti o zrušení. Výchozí hodnota je None.
Návraty
Úloha s hodnotou, která představuje asynchronní operaci čtení. Hodnota parametru type obsahuje počet znaků, které byly přečtené, 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 se uloží do vrácené úlohy.
Platí pro
ReadAsync(Char[], Int32, Int32)
- Zdroj:
- TextReader.cs
- Zdroj:
- TextReader.cs
- Zdroj:
- TextReader.cs
Přečte asynchronně zadaný maximální počet znaků z aktuální čtečky textu 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[]
Když tato metoda vrátí hodnotu , obsahuje zadané pole znaků s hodnotami mezi index
a (index
+ count
- 1) nahrazenými znaky načtenými z aktuálního zdroje.
- index
- Int32
Pozice, ve buffer
které se má začít psát.
- count
- Int32
Maximální počet znaků, které se mají přečíst. Je-li dosaženo konce textu před zadaný počet znaků je načten do vyrovnávací paměti, aktuální metoda vrátí.
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žadovaný počet bajtů, pokud je počet aktuálně dostupných bajtů menší než požadované číslo, nebo může být 0 (nula), pokud bylo dosaženo konce textu.
- Atributy
Výjimky
buffer
je null
.
index
nebo count
je negativní.
Součet index
hodnot 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čí buď po přečtení počtu znaků určených parametrem count
, nebo po dosažení konce souboru.
Třída TextReader je abstraktní třída. Proto se v kódu nevytvořuje instance. Příklad použití metody najdete v ReadAsyncStreamReader.ReadAsync metodě .
Tato metoda ukládá do úlohy, která vrací všechny výjimky nepouužování, které může vyvolat synchronní protějšek metody. Pokud je do vrácené úlohy uložena výjimka, bude tato výjimka vyvolána, když je úloha očekávána. Výjimky použití, jako ArgumentExceptionje , se stále vyvolává synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Read(Char[], Int32, Int32).
Viz také
- ReadAsync(Char[], Int32, Int32)
- ReadAsync(Char[], Int32, Int32)
- Vstupně-výstupní operace souborů a Stream
- Postupy: Čtení textu ze souboru
- Postupy: Zápis textu do souboru