Teilen über


TextReader.ReadLine Methode

Definition

Liest eine Zeile von Zeichen aus dem Textleser und gibt die Daten als Zeichenfolge zurück.

public:
 virtual System::String ^ ReadLine();
public virtual string ReadLine ();
public virtual string? ReadLine ();
abstract member ReadLine : unit -> string
override this.ReadLine : unit -> string
Public Overridable Function ReadLine () As String

Gibt zurück

Die nächste Zeile des Readers oder null, wenn alle Zeichen gelesen wurden.

Ausnahmen

Ein E/A-Fehler tritt auf.

Es ist nicht genügend Speicher vorhanden, um einen Puffer für die zurückgegebene Zeichenfolge zuzuordnen.

Der TextReader ist geschlossen.

Die Anzahl der Zeichen in der nächsten Zeile ist größer als Int32.MaxValue

Hinweise

Eine Linie ist definiert als eine Sequenz von Zeichen gefolgt von einer Wagenrückführung (0x000d), einem Zeilenvorschub (0x000a), einem Wagenrücklauf gefolgt von einem Zeilenvorschub, Environment.NewLineoder der Markierung zum Ende des Datenstroms. Die zurückgegebene Zeichenfolge enthält weder den beendenden Wagenrücklauf noch den Zeilenvorschub. Der Rückgabewert ist null , wenn das Ende des Eingabedatenstroms erreicht wurde.

Wenn die -Methode eine OutOfMemoryException Ausnahme auslöst, wird die Position des Lesers im zugrunde liegenden Stream um die Anzahl der Zeichen erweitert, die die Methode lesen konnte, aber die Zeichen, die bereits in den internen ReadLine Puffer gelesen wurden, werden verworfen. Da die Position des Lesers im Stream nicht geändert werden kann, sind die bereits gelesenen Zeichen nicht wiederherstellbar und können nur durch erneutes Initialisieren des TextReader Objekts zugegriffen werden. Wenn die anfangse Position im Stream unbekannt ist oder der Stream die Suche nicht unterstützt, muss auch die zugrunde liegende Stream Position neu initialisiert werden.

Um eine solche Situation zu vermeiden und robusten Code zu erstellen, sollten Sie die Read -Methode verwenden und die Lesezeichen in einem vorab zugewiesenen Puffer speichern.

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

Gilt für:

Weitere Informationen