TextReader.ReadToEnd Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Считывает все символы из текущей позиции в конец средства чтения текста и возвращает их в виде одной строки.
public:
virtual System::String ^ ReadToEnd();
public virtual string ReadToEnd();
abstract member ReadToEnd : unit -> string
override this.ReadToEnd : unit -> string
Public Overridable Function ReadToEnd () As String
Возвращаемое значение
Строка, содержащая все символы из текущей позиции в конец средства чтения текста.
Исключения
Возникает ошибка ввода-вывода.
TextReader закрыт.
Недостаточно памяти для выделения буфера для возвращаемой строки.
Число символов в следующей строке больше, чем Int32.MaxValue
Комментарии
Если метод создает OutOfMemoryException исключение, позиция читателя в базовой базе Stream расширена по количеству символов, которые метод смог прочитать, но символы, которые уже считывались в внутренний ReadToEnd буфер, удаляются. Так как позиция средства чтения в потоке не может быть изменена, символы, которые уже были прочитаны, недоступны и доступ к ней можно получить только путем повторной инициализации TextReader. Если начальная позиция в потоке неизвестна или поток не поддерживает поиск, базовый Stream элемент также необходимо повторно инициализировать.
Чтобы избежать такой ситуации и создать надежный код, следует использовать Read метод и хранить символы чтения в предварительнораспределированном буфере.
Класс TextReader является абстрактным классом. Поэтому вы не создаете экземпляр в коде. Пример использования ReadToEnd метода см. в описании StreamReader.ReadToEnd метода.