This particular class is employed for managing and manipulating string information as opposed to files. It serves as a subclass of the TextWriter class. The StringWriter class stores the string data it writes into a StringBuilder.
The main objective of this class is to handle strings and store the outcome in the StringBuilder.
StringWriter Class Signature
Example
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class StringWriter : TextWriter
C# StringWriter Constructors
| Constructors | Description |
|---|---|
| StringWriter() | It is used to initialize a new instance of the StringWriter class. |
| StringWriter(IFormatProvider) | It is used to initialize a new instance of the StringWriter class with the specified format control. |
| StringWriter(StringBuilder) | It is used to initialize a new instance of the StringWriter class that writes to the specified StringBuilder. |
| StringWriter(StringBuilder,?IFormatProvider) | It is used to initialize a new instance of the StringWriter class that writes to the specified StringBuilder and has the specified format provider. |
C# StringWriter Properties
| Property | Description |
|---|---|
| Encoding | It is used to get the Encoding in which the output is written. |
| FormatProvider | It is used to get an object that controls formatting. |
| NewLine | It is used to get or set the line terminator string used by the currentTextWriter. |
C# StringWriter Methods
| Methods | Description |
|---|---|
| Close() | It is used to close the current StringWriter and the underlying stream. |
| Dispose() | It is used to release all resources used by the TextWriter object. |
| Equals(Object) | It is used to determine 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 is used to serve as the default hash function. |
| GetStringBuilder() | It returns the underlying StringBuilder. |
| ToString() | It returns a string containing the characters written to the current StringWriter. |
| WriteAsync(String) | It is used to write a string to the current string asynchronously. |
| Write(Boolean) | It is used to write the text representation of a Boolean value to the string. |
| Write(String) | It is used to write a string to the current string. |
| WriteLine(String) | It is used to write a string followed by a line terminator to the string or stream. |
| WriteLineAsync(String) | Writes a string followed by a line terminator asynchronously to the current string.(Overrides TextWriter.WriteLineAsync(String).) |
C# StringWriter Example
In this program snippet, the StringWriter class is employed to append string data to the StringBuilder class. Subsequently, the StringReader class is utilized to retrieve the written content from the StringBuilder.
Example
using System;
using System.IO;
using System.Text;
namespace CSharpProgram
{
class Program
{
static void Main(string[] args)
{
string text = "Hello, Welcome to the hello world \n" +
"It is nice site. \n" +
"It provides technical tutorials";
// Creating StringBuilder instance
StringBuilder sb = new StringBuilder();
// Passing StringBuilder instance into StringWriter
StringWriter writer = new StringWriter(sb);
// Writing data using StringWriter
writer.WriteLine(text);
writer.Flush();
// Closing writer connection
writer.Close();
// Creating StringReader instance and passing StringBuilder
StringReader reader = new StringReader(sb.ToString());
// Reading data
while (reader.Peek() > -1)
{
Console.WriteLine(reader.ReadLine());
}
}
}
}
Output:
Output
Hello, Welcome to the hello world
It is nice site.
It provides technical tutorials