TextReader.ReadLine Метод

Определение

Считывает строку символов из средства чтения текста и возвращает данные в виде строки.

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

Возвращаемое значение

Следующая строка от средства чтения или null если все символы были прочитаны.

Исключения

Возникает ошибка ввода-вывода.

Недостаточно памяти для выделения буфера для возвращаемой строки.

Число символов в следующей строке больше, чем Int32.MaxValue

Комментарии

Строка определяется как последовательность символов, за которой следует возврат каретки (0x000d), веб-канал строки (0x000a), возврат каретки, за которой следует канал строки, Environment.NewLineили конец входных данных читателя. Возвращаемая строка не содержит конца возвращаемого каретки или канала строки. Возвращаемое значение — это null значение, если достигнут конец входных данных.

Если входные данные заканчиваются новой последовательностью, возвращается дополнительная пустая строка. Например, входные "line1\nline2\n" данные, содержащие одну и ту же линию ("line1" и "line2") в качестве входных данных "line1\nline2".

Если метод создает OutOfMemoryException исключение, позиция читателя в его базовом источнике расширяется числом символов, которые метод смог прочитать, но символы, которые уже считывались в внутренний ReadLine буфер, удаляются. Так как позиция читателя в базовом источнике не может быть сброшена, символы, которые уже были прочитаны, недоступны и доступ к ней можно получить только путем повторной инициализации TextReader объекта. Если начальная позиция в базовом источнике неизвестна или источник не поддерживает изменение положения, базовый источник также должен быть повторно инициализирован.

Чтобы избежать такой ситуации и создать надежный код, следует использовать Read метод и хранить символы чтения в предварительнораспределированном буфере.

Класс TextReader является абстрактным классом. Поэтому вы не создаете экземпляр в коде. Пример использования ReadLine метода см. в описании StreamReader.ReadLine метода.

Применяется к

См. также раздел