Freigeben über


TextReader.ReadAsync Methode

Definition

Überlädt

ReadAsync(Memory<Char>, CancellationToken)

Liest die Zeichen asynchron aus dem aktuellen Datenstrom in einen Speicherblock.

ReadAsync(Char[], Int32, Int32)

Liest asynchron eine angegebene Höchstanzahl von Zeichen aus dem aktuellen Textreader und schreibt die Daten in einen Puffer, wobei am angegebenen Index begonnen wird.

ReadAsync(Memory<Char>, CancellationToken)

Quelle:
TextReader.cs
Quelle:
TextReader.cs
Quelle:
TextReader.cs

Liest die Zeichen asynchron aus dem aktuellen Datenstrom in einen Speicherblock.

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)

Parameter

buffer
Memory<Char>

Enthält nach dem Beenden dieser Methode den angegebene Speicherblock, der durch die aus der aktuellen Quelle gelesenen Zeichen ersetzt wurde

cancellationToken
CancellationToken

Das Token zum Überwachen von Abbruchanforderungen. Der Standardwert ist None.

Gibt zurück

Ein Werttask, der den asynchronen Lesevorgang darstellt Der Wert des Typparameters enthält die Anzahl der gelesenen Zeichen bzw. 0 (null), wenn das Ende des Datenstroms erreicht ist und keine Daten gelesen wurden. Die Anzahl ist kleiner oder gleich der buffer-Länge, abhängig davon, ob die Daten im Datenstrom verfügbar sind.

Ausnahmen

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Gilt für:

ReadAsync(Char[], Int32, Int32)

Quelle:
TextReader.cs
Quelle:
TextReader.cs
Quelle:
TextReader.cs

Liest asynchron eine angegebene Höchstanzahl von Zeichen aus dem aktuellen Textreader und schreibt die Daten in einen Puffer, wobei am angegebenen Index begonnen wird.

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)

Parameter

buffer
Char[]

Enthält nach der Rückgabe dieser Methode das angegebene Zeichenarray mit den Werten zwischen index und (index + count - 1), die durch die aus der aktuellen Quelle gelesenen Zeichen ersetzt wurden.

index
Int32

Die Position in buffer, an der mit dem Schreiben begonnen wird.

count
Int32

Die maximale Anzahl der zu lesenden Zeichen. Wenn das Ende des Texts erreicht ist, bevor die angegebene Anzahl von Zeichen in den Puffer gelesen wurde, erfolgt die aktuelle Methodenrückgabe.

Gibt zurück

Eine Aufgabe, die den asynchronen Lesevorgang darstellt. Der Wert des TResult-Parameters enthält die Gesamtzahl der Bytes, die in den Puffer gelesen werden. Der Ergebniswert kann niedriger als die Anzahl der angeforderten Bytes sein, wenn die Anzahl an derzeit verfügbaren Bytes kleiner ist als die angeforderte Anzahl, oder sie kann 0 (null) sein, wenn das Textende erreicht ist.

Attribute

Ausnahmen

buffer ist null.

index oder count ist ein negativer Wert.

Die Summe von index und count ist größer als die Pufferlänge.

Der Textreader wurde freigegeben.

Der Reader wird zurzeit von einem vorherigen Lesevorgang verwendet.

Hinweise

Die Aufgabe wird abgeschlossen, nachdem entweder die anzahl der vom count Parameter angegebenen Zeichen gelesen oder das Ende der Datei erreicht wurde.

Die TextReader-Klasse ist eine abstrakte Klasse. Daher instanziieren Sie sie nicht im Code. Ein Beispiel für die Verwendung der ReadAsync -Methode finden Sie in der StreamReader.ReadAsync -Methode.

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten Read(Char[], Int32, Int32)Ausnahmen.

Weitere Informationen

Gilt für: