TextReader.ReadBlockAsync Metoda

Definicja

Przeciążenia

ReadBlockAsync(Memory<Char>, CancellationToken)

Asynchronicznie odczytuje znaki z bieżącego strumienia i zapisuje dane w buforze.

ReadBlockAsync(Char[], Int32, Int32)

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

ReadBlockAsync(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 i zapisuje dane w buforze.

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>

Gdy ta metoda zwraca wartość , zawiera określony blok pamięci znaków zastąpiony znakami odczytanych 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 całkowitą liczbę znaków odczytanych do buforu. Wartość wyniku może być mniejsza niż liczba żądanych znaków, jeśli liczba dostępnych znaków jest mniejsza niż żądana liczba lub może być równa 0 (zero), jeśli osiągnięto koniec strumienia.

Wyjątki

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.

Dotyczy

ReadBlockAsync(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, począwszy od określonego indeksu.

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

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

index
Int32

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

count
Int32

Maksymalna liczba znaków do odczytania. Jeśli osiągnięto koniec tekstu przed odczytaniem określonej liczby znaków do buforu, zwracana jest bieżąca metoda.

Zwraca

Zadanie reprezentujące asynchroniczną operację odczytu. 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 wartości i count jest większa niż długość buforu.

Czytnik tekstu został usunięty.

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

Uwagi

Zadanie nie zostanie ukończone do momentu odczytania liczby znaków określonych przez count parametr lub osiągnięcia końca tekstu.

Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez ReadBlock(Char[], Int32, Int32)usługę .

Zobacz też

Dotyczy