TextReader.ReadLine Methode

Definition

Liest eine Zeichenzeile aus der Textsprachausgabe 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 Lesers oder null , wenn alle Zeichen gelesen wurden.

Ausnahmen

Ein E/A-Fehler tritt auf.

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

Das TextReader ist geschlossen.

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

Hinweise

Eine Zeile wird als Eine Folge von Zeichen definiert, gefolgt von einer Wagenrücklauf (0x000d), einem Zeilenvorschub (0x000a), einer Wagenrücklauf, gefolgt von einem Zeilenvorschub Environment.NewLineoder dem Ende der Leseeingabe. Die zurückgegebene Zeichenfolge enthält nicht den endenden Wagenrücklauf oder Zeilenvorschub. Der Rückgabewert ist null , wenn das Ende der Eingabe erreicht wurde.

Wenn die Eingabe mit einer Zeilensequenz endet, wird keine zusätzliche leere Zeile zurückgegeben. Eingaben "line1\nline2\n" , die z. B. enthalten, erzeugen die gleichen zwei Zeilen ("line1" und "line2") wie Eingaben, die enthalten "line1\nline2".

Wenn die Methode eine OutOfMemoryException Ausnahme auslöst, wird die Position des Lesers in der zugrunde liegenden Quelle 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 in der zugrunde liegenden Quelle nicht zurückgesetzt werden kann, sind die bereits gelesenen Zeichen nicht wiederherstellbar und können nur durch erneutes Initialisieren des TextReader Objekts aufgerufen werden. Wenn die Anfangsposition innerhalb der zugrunde liegenden Quelle unbekannt ist oder die Quelle die Neupositionierung nicht unterstützt, muss die zugrunde liegende Quelle ebenfalls neu initialisiert werden.

Um eine solche Situation zu vermeiden und robusten Code zu erzeugen, 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 in Ihrem Code. Ein Beispiel für die Verwendung der ReadLine Methode finden Sie unter der StreamReader.ReadLine Methode.

Gilt für:

Weitere Informationen