Compartilhar via


TextReader.ReadLine Método

Definição

Lê uma linha de caracteres do leitor de texto e retorna os dados como uma cadeia de caracteres.

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

Retornos

A próxima linha do leitor, ou null, se todos os caracteres foram lidos.

Exceções

Ocorre um erro de E/S.

Não há memória suficiente para alocar um buffer à cadeia de caracteres retornada.

O número de caracteres na próxima linha é maior que Int32.MaxValue

Comentários

Uma linha é definida como uma sequência de caracteres seguida por um retorno de carro (0x000d), uma alimentação de linha (0x000a), um retorno de carro seguido por um feed de linha, Environment.NewLineou o marcador de fim de fluxo. A cadeia de caracteres retornada não contém o retorno de carro de terminação ou alimentação de linha. O valor retornado será null se o final do fluxo de entrada tiver sido atingido.

Se o método gerar uma exceção OutOfMemoryException , a posição do leitor no subjacente Stream será avançada pelo número de caracteres que o método conseguiu ler, mas os caracteres que já foram lidos no buffer interno ReadLine serão descartados. Como a posição do leitor no fluxo não pode ser alterada, os caracteres que já foram lidos são irrecuperáveis e só podem ser acessados reinicializando o TextReader objeto. Se a posição inicial dentro do fluxo for desconhecida ou o fluxo não der suporte à busca, o subjacente Stream também precisará ser reinicializado.

Para evitar essa situação e produzir um código robusto, você deve usar o Read método e armazenar os caracteres de leitura em um buffer pré-alocado.

A classe TextReader é uma classe abstrata. Portanto, você não cria uma instância dele em seu código. Para obter um exemplo de como usar o ReadLine método , consulte o StreamReader.ReadLine método .

Aplica-se a

Confira também