The StringReader class is employed for reading information that has been written by the StringWriter class. This class is a subclass of the TextReader class, allowing synchronous or asynchronous reading of a string. It contains various constructors and functions to facilitate reading operations.
C# StringReader Signature
Example
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class StringReader : TextReader
C# StringReader Constructors
StringReader has the following constructors.
| Constructors | Description |
|---|---|
| StringReader(String) | Initializes a new instance of the StringReader class that reads from the specified string. |
C# StringReader Methods
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. |
C# StringReader Example
In this instance, the StringWriter class is employed for composing string data, while the StringReader class is utilized for retrieving the string content composed by the StringWriter class.
Example
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());
}
}
}
}
Output:
Output
Hello, this message is read by StringReader class