TextReader.ReadLine Metodo

Definizione

Legge una riga di caratteri dal lettore di testo e restituisce i dati come stringa.

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

Valori restituiti

Riga successiva dal lettore o null se tutti i caratteri sono stati letti.

Eccezioni

Si verifica un errore di I/O.

Memoria insufficiente per allocare un buffer per la stringa restituita.

L'oggetto TextReader è chiuso.

Il numero di caratteri nella riga successiva è maggiore di Int32.MaxValue

Commenti

Una riga viene definita come una sequenza di caratteri seguita da un ritorno a capo (0x000d), da un avanzamento riga (0x000a), da un ritorno a capo seguito da un avanzamento riga, Environment.NewLineo dalla fine dell'input del lettore. La stringa restituita non contiene il ritorno a capo finale o il feed di riga. Il valore restituito è null se è stata raggiunta la fine dell'input.

Se l'input termina con una sequenza di nuova riga, non viene restituita alcuna riga vuota aggiuntiva. Ad esempio, l'input contenente "line1\nline2\n" produce le stesse due righe ("line1" e "line2") dell'input contenente "line1\nline2".

Se il metodo genera un'eccezione OutOfMemoryException , la posizione del lettore nell'origine sottostante è avanzata dal numero di caratteri che il metodo è stato in grado di leggere, ma i caratteri già letti nel buffer interno ReadLine vengono eliminati. Poiché la posizione del lettore nell'origine sottostante non può essere reimpostata, i caratteri già letti non sono recuperabili e possono essere accessibili solo reinizializzando l'oggetto TextReader . Se la posizione iniziale all'interno dell'origine sottostante è sconosciuta o l'origine non supporta il riposizionamento, è necessario reinizializzare anche l'origine sottostante.

Per evitare una situazione di questo tipo e produrre codice affidabile, è consigliabile usare il Read metodo e archiviare i caratteri di lettura in un buffer preallocato.

La TextReader classe è una classe astratta. Di conseguenza, non è necessario crearne un'istanza nel codice. Per un esempio di utilizzo del ReadLine metodo , vedere il StreamReader.ReadLine metodo .

Si applica a

Vedi anche