StringReader Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Реализует объект TextReader , который считывается из строки.
public ref class StringReader : System::IO::TextReader
public class StringReader : System.IO.TextReader
[System.Serializable]
public class StringReader : System.IO.TextReader
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StringReader : System.IO.TextReader
type StringReader = class
inherit TextReader
[<System.Serializable>]
type StringReader = class
inherit TextReader
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StringReader = class
inherit TextReader
Public Class StringReader
Inherits TextReader
- Наследование
- Наследование
- Атрибуты
Примеры
В следующем примере показано, как асинхронно читать всю строку.
using System;
using System.IO;
using System.Text;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
ReadCharacters();
}
static async void ReadCharacters()
{
StringBuilder stringToRead = new StringBuilder();
stringToRead.AppendLine("Characters in 1st line to read");
stringToRead.AppendLine("and 2nd line");
stringToRead.AppendLine("and the end");
using (StringReader reader = new StringReader(stringToRead.ToString()))
{
string readText = await reader.ReadToEndAsync();
Console.WriteLine(readText);
}
}
}
}
// The example displays the following output:
//
// Characters in 1st line to read
// and 2nd line
// and the end
//
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
ReadCharacters()
End Sub
Async Sub ReadCharacters()
Dim stringToRead = New StringBuilder()
stringToRead.AppendLine("Characters in 1st line to read")
stringToRead.AppendLine("and 2nd line")
stringToRead.AppendLine("and the end")
Using reader As StringReader = New StringReader(stringToRead.ToString())
Dim readText As String = Await reader.ReadToEndAsync()
Console.WriteLine(readText)
End Using
End Sub
End Module
' The example displays the following output:
'
' Characters in 1st line to read
' and 2nd line
' and the end
'
Комментарии
StringReader позволяет считывать строку синхронно или асинхронно. Символ можно считывать за раз с Read помощью метода или метода, строки за раз с помощью ReadLine метода или ReadLineAsyncReadAsync всей строки с помощью ReadToEnd метода или ReadToEndAsync метода.
Note
Этот тип реализует IDisposable интерфейс, но на самом деле не имеет ресурсов для удаления. Это означает, что удаление его путем прямого вызова Dispose() или с помощью языковой конструкции, например using (в C#) или Using (в Visual Basic) не требуется.
В следующей таблице перечислены примеры других типичных или связанных задач ввода-вывода.
| Для этого... | См. пример в этом разделе... |
|---|---|
| Создайте текстовый файл. | Практическое руководство. Запись текста в файл |
| Запись в текстовый файл. | Практическое руководство. Запись текста в файл |
| Чтение из текстового файла. | Практическое руководство. Чтение текста из файла |
| Добавление текста в файл. |
Практическое руководство. Открытие и добавление в файл журнала File.AppendText FileInfo.AppendText |
| Получение размера файла. | FileInfo.Length |
| Получение атрибутов файла. | File.GetAttributes |
| Задайте атрибуты файла. | File.SetAttributes |
| Определите, существует ли файл. | File.Exists |
| Чтение из двоичного файла. | Практическое руководство. Чтение и запись в только что созданный файл данных |
| Запись в двоичный файл. | Практическое руководство. Чтение и запись в только что созданный файл данных |
Конструкторы
| Имя | Описание |
|---|---|
| StringReader(String) |
Инициализирует новый экземпляр класса, который считывается из указанной StringReader строки. |
Методы
| Имя | Описание |
|---|---|
| Close() |
StringReaderЗакрывает объект . |
| CreateObjRef(Type) |
Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
| Dispose() |
Освобождает все ресурсы, используемые TextReader объектом. (Унаследовано от TextReader) |
| Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые StringReader и при необходимости освобождает управляемые ресурсы. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetLifetimeService() |
Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| InitializeLifetimeService() |
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MemberwiseClone(Boolean) |
Создает неглубокую копию текущего MarshalByRefObject объекта. (Унаследовано от MarshalByRefObject) |
| Peek() |
Возвращает следующий доступный символ, но не использует его. |
| Read() |
Считывает следующий символ из входной строки и перемещает позицию символа по одному символу. |
| Read(Char[], Int32, Int32) |
Считывает блок символов из входной строки и перемещает позицию символов на |
| Read(Span<Char>) |
Считывает все символы из входной строки, начиная с текущей позиции, и перемещает текущую позицию в конец входной строки. |
| ReadAsync(Char[], Int32, Int32) |
Считывает указанное максимальное количество символов из текущей строки асинхронно и записывает данные в буфер, начиная с указанного индекса. |
| ReadAsync(Memory<Char>, CancellationToken) |
Асинхронно считывает все символы из входной строки, начиная с текущей позиции, и перемещает текущую позицию в конец входной строки. |
| ReadBlock(Char[], Int32, Int32) |
Считывает указанное максимальное количество символов из текущего средства чтения текста и записывает данные в буфер, начиная с указанного индекса. (Унаследовано от TextReader) |
| ReadBlock(Span<Char>) |
Считывает все символы из входной строки, начиная с текущей позиции, и перемещает текущую позицию в конец входной строки. |
| ReadBlockAsync(Char[], Int32, Int32) |
Считывает указанное максимальное количество символов из текущей строки асинхронно и записывает данные в буфер, начиная с указанного индекса. |
| ReadBlockAsync(Memory<Char>, CancellationToken) |
Асинхронно считывает все символы из входной строки, начиная с текущей позиции, и перемещает текущую позицию в конец входной строки. |
| ReadLine() |
Считывает строку символов из текущей строки и возвращает данные в виде строки. |
| ReadLineAsync() |
Асинхронно считывает строку символов из текущей строки и возвращает данные в виде строки. |
| ReadToEnd() |
Считывает все символы из текущей позиции в конец строки и возвращает их в виде одной строки. |
| ReadToEndAsync() |
Считывает все символы из текущей позиции в конец строки асинхронно и возвращает их в виде одной строки. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IDisposable.Dispose() |
Описание этого элемента см. в разделе Dispose(). (Унаследовано от TextReader) |