TextReader.ReadLine Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přečte řádek znaků ze čtečky textu a vrátí data jako řetězec.
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
Návraty
Další řádek od čtenáře nebo null pokud byly přečtené všechny znaky.
Výjimky
Dojde k vstupně-výstupní chybě.
Nedostatek paměti pro přidělení vyrovnávací paměti pro vrácený řetězec.
To TextReader je uzavřeno.
Počet znaků na dalším řádku je větší než Int32.MaxValue
Poznámky
Čára je definována jako posloupnost znaků následovaných návratem na začátek řádku (0x000d), informačním kanálem řádku (0x000a), návratem na začátek řádku následovaným kanálem Environment.NewLineřádku nebo koncem vstupu čtenáře. Vrácený řetězec neobsahuje ukončující návrat na začátek řádku nebo odřádkování. Vrácená hodnota je null , pokud byl dosažen konec vstupu.
Pokud vstup končí sekvencí nového řádku, nebude vrácen žádný další prázdný řádek. Například vstup obsahující "line1\nline2\n" vytváří stejné dva řádky ("line1" a "line2") jako vstup obsahující "line1\nline2".
Pokud metoda vyvolá OutOfMemoryException výjimku, pozice čtenáře v jeho podkladovém zdroji je rozšířena počtem znaků, které metoda dokázala přečíst, ale znaky, které už byly načteny do interní ReadLine vyrovnávací paměti, jsou zahozeny. Vzhledem k tomu, že umístění čtenáře v podkladovém zdroji nelze resetovat, znaky, které už byly přečteny, nejsou obnovitelné a lze k němu přistupovat pouze opětovnou inicializací objektu TextReader . Pokud je počáteční pozice v podkladovém zdroji neznámá nebo zdroj nepodporuje přemístění, musí být také znovu inicializován.
Pokud se chcete takové situaci vyhnout a vytvořit robustní kód, měli byste použít metodu Read a uložit znaky čtení do předem nepřiřazené vyrovnávací paměti.
Třída TextReader je abstraktní třída. Proto ji v kódu neodstraňujete. Příklad použití ReadLine metody najdete v StreamReader.ReadLine metodě.