TextReader.ReadLine Metod

Definition

Läser en rad med tecken från textläsaren och returnerar data som en sträng.

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

Returer

Nästa rad från läsaren eller null om alla tecken har lästs.

Undantag

Ett I/O-fel inträffar.

Det finns inte tillräckligt med minne för att allokera en buffert för den returnerade strängen.

Antalet tecken på nästa rad är större än Int32.MaxValue

Kommentarer

En rad definieras som en sekvens med tecken följt av en vagnretur (0x000d), en radmatning (0x000a), en vagnretur följt av en radmatning Environment.NewLineeller slutet av läsarens indata. Strängen som returneras innehåller inte den avslutande vagnreturen eller radmatningen. Returvärdet är null om slutet av indata har nåtts.

Om indata slutar med en ny linjesekvens returneras ingen ytterligare tom rad. Indata som innehåller "line1\nline2\n" genererar till exempel samma två rader ("line1" och "line2") som indata som innehåller "line1\nline2".

Om metoden utlöser ett OutOfMemoryException undantag avanceras läsarens position i den underliggande källan av antalet tecken som metoden kunde läsa, men de tecken som redan lästes in i den interna ReadLine bufferten ignoreras. Eftersom läsarens position i den underliggande källan inte kan återställas går det inte att återställa de tecken som redan har lästs och kan endast nås genom att objektet initieras på nytt TextReader . Om den ursprungliga positionen i den underliggande källan är okänd eller om källan inte stöder ompositionering måste även den underliggande källan initieras igen.

För att undvika en sådan situation och skapa robust kod bör du använda Read metoden och lagra lästecken i en förallokerad buffert.

Klassen TextReader är en abstrakt klass. Därför instansierar du den inte i koden. Ett exempel på hur du ReadLine använder metoden finns i StreamReader.ReadLine metoden.

Gäller för

Se även