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

Restituisce

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

Eccezioni

Si è verificato un errore di I/O.

La memoria disponibile non è sufficiente per l’allocazione di un buffer per la stringa restituita.

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), un feed di linee (0x000a), un ritorno a capo seguito da un feed di linee, Environment.NewLineo da un marcatore end-of-stream. La stringa restituita non contiene il ritorno a capo finale o il feed di linee. Il valore restituito è null se è stata raggiunta la fine del flusso di input.

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

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

La classe TextReader è astratta. Di conseguenza, non verrà creata un'istanza nel codice. Per un esempio di uso del ReadLine metodo, vedere il StreamReader.ReadLine metodo .

Si applica a

Vedi anche