StringReader class is used to read data written by the StringWriter class. It is subclass of TextReader class. It enables us to read a string synchronously or asynchronously. It provides constructors and methods to perform read operations.
[SerializableAttribute] [ComVisibleAttribute(true)] public class StringReader : TextReader
StringReader has the following constructors.
Constructors | Description |
---|---|
StringReader(String) | Initializes a new instance of the StringReader class that reads from the specified string. |
Following are the methods of StringReader class.
Method | Description |
---|---|
Close() | It is used to close the StringReader. |
Dispose() | It is used to release all resources used by the TextReader object. |
Equals(Object) | It determines whether the specified object is equal to the current object or not. |
Finalize() | It allows an object to try to free resources and perform other cleanup operations. |
GetHashCode() | It serves as the default hash function. |
GetType() | It is used to get the type of the current instance. |
Peek() | It is used to return the next available character but does not consume it. |
Read() | It is used to read the next character from the input string. |
ReadLine() | It is used to read a line of characters from the current string. |
ReadLineAsync() | It is used to read a line of characters asynchronously from the current string. |
ReadToEnd() | It is used to read all the characters from the current position to the end of the string. |
ReadToEndAsync() | It is used to read all the characters from the current position to the end of the string asynchronously. |
ToString() | It is used to return a string that represents the current object. |
In the following example, StringWriter class is used to write the string information and StringReader class is used to read the string, written by the StringWriter class.
using System; using System.IO; namespace CSharpProgram { class Program { static void Main(string[] args) { StringWriter str = new StringWriter(); str.WriteLine("Hello, this message is read by StringReader class"); str.Close(); // Creating StringReader instance and passing StringWriter StringReader reader = new StringReader(str.ToString()); // Reading data while (reader.Peek() > -1) { Console.WriteLine(reader.ReadLine()); } } } }