Ler em inglês

Partilhar 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 string ReadLine ();
public virtual string? ReadLine ();

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

Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Confira também