Sdílet prostřednictvím


TextReader.ReadBlockAsync Metoda

Definice

Přetížení

ReadBlockAsync(Memory<Char>, CancellationToken)

Asynchronně přečte znaky z aktuálního datového proudu a zapíše data do vyrovnávací paměti.

ReadBlockAsync(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.

ReadBlockAsync(Memory<Char>, CancellationToken)

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

Asynchronně přečte znaky z aktuálního datového proudu a zapíše data do vyrovnávací paměti.

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

Parametry

buffer
Memory<Char>

Když tato metoda vrátí, obsahuje zadaný paměťový 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 hodnoty, která představuje asynchronní operaci čtení. Hodnota parametru type obsahuje celkový počet znaků načtených do vyrovnávací paměti. Výsledná hodnota může být menší než požadovaný počet znaků, pokud je počet aktuálně dostupných znaků menší než požadované číslo, nebo může být 0 (nula), pokud bylo dosaženo konce datového proudu.

Výjimky

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

Platí pro

ReadBlockAsync(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> ^ ReadBlockAsync(cli::array <char> ^ buffer, int index, int count);
public virtual System.Threading.Tasks.Task<int> ReadBlockAsync (char[] buffer, int index, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual System.Threading.Tasks.Task<int> ReadBlockAsync (char[] buffer, int index, int count);
abstract member ReadBlockAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
override this.ReadBlockAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member ReadBlockAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
override this.ReadBlockAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
Public Overridable Function ReadBlockAsync (buffer As Char(), index As Integer, count As Integer) As Task(Of Integer)

Parametry

buffer
Char[]

Když tato metoda vrátí, obsahuje zadané pole znaků 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é se má začít psát.

count
Int32

Maximální počet znaků, které se mají přečíst. Pokud je dosaženo konce textu před načtením zadaného počtu znaků 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 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 nedokončí, dokud se nenačte počet znaků zadaný parametrem count nebo dokud není dosaženo konce textu.

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem ReadBlock(Char[], Int32, Int32).

Viz také

Platí pro