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ě.
Není dostatek paměti k přidělení vyrovnávací paměti pro vrácený řetězec.
Je TextReader zavřený.
Počet znaků na dalším řádku je větší než Int32.MaxValue
Poznámky
Čára je definována jako posloupnost znaků následovaná návratovým znakem řádku (0x000d), 0x000a, návratem řádku následovaným kanálem Environment.NewLineřádku nebo značkou konce datového proudu. Vrácený řetězec neobsahuje ukončující návrat řádku ani kanál řádku. Návratová hodnota je null
, pokud bylo dosaženo konce vstupního datového proudu.
Pokud metoda vyvolá OutOfMemoryException výjimku, je pozice čtenáře v podkladovém Stream objektu rozšířena o počet znaků, které byla metoda schopna přečíst, ale znaky, které byly již načteny do interní ReadLine vyrovnávací paměti, jsou zahozeny. Vzhledem k tomu, že umístění čtenáře v datovém proudu nelze změnit, jsou znaky, které byly již přečteny, neopravitelné a lze k nich získat přístup pouze opětovnou inicializací objektu TextReader . Pokud je počáteční pozice v rámci datového proudu neznámá nebo datový proud nepodporuje hledání, je také potřeba znovu inicializovat podklad.Stream
Pokud se chcete takové situaci vyhnout a vytvořit robustní kód, měli byste použít metodu Read a uložit přečtené znaky do předem přidělené vyrovnávací paměti.
Třída TextReader je abstraktní třída. Proto ji v kódu nevytvořujete. Příklad použití ReadLine metody najdete v StreamReader.ReadLine metodě .