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 если все символы были прочитаны.
Исключения
Возникает ошибка ввода-вывода.
Недостаточно памяти для выделения буфера для возвращаемой строки.
TextReader закрыт.
Число символов в следующей строке больше, чем Int32.MaxValue
Комментарии
Строка определяется как последовательность символов, за которой следует возврат каретки (0x000d), веб-канал строки (0x000a), возврат каретки, за которой следует канал строки, Environment.NewLineили конец входных данных читателя. Возвращаемая строка не содержит конца возвращаемого каретки или канала строки. Возвращаемое значение — это null значение, если достигнут конец входных данных.
Если входные данные заканчиваются новой последовательностью, возвращается дополнительная пустая строка. Например, входные "line1\nline2\n" данные, содержащие одну и ту же линию ("line1" и "line2") в качестве входных данных "line1\nline2".
Если метод создает OutOfMemoryException исключение, позиция читателя в его базовом источнике расширяется числом символов, которые метод смог прочитать, но символы, которые уже считывались в внутренний ReadLine буфер, удаляются. Так как позиция читателя в базовом источнике не может быть сброшена, символы, которые уже были прочитаны, недоступны и доступ к ней можно получить только путем повторной инициализации TextReader объекта. Если начальная позиция в базовом источнике неизвестна или источник не поддерживает изменение положения, базовый источник также должен быть повторно инициализирован.
Чтобы избежать такой ситуации и создать надежный код, следует использовать Read метод и хранить символы чтения в предварительнораспределированном буфере.
Класс TextReader является абстрактным классом. Поэтому вы не создаете экземпляр в коде. Пример использования ReadLine метода см. в описании StreamReader.ReadLine метода.