Home > Article > Backend Development > C# StringWriter
The StringWriter class in C# is derived from TextWriter subclass and strings can be manipulated using the StringWriter class and this StringWriter class is used to write to a StringBuilder class which belongs to System. Text namespace and the strings can be built efficiently using this StringBuilder class because strings are immutable in C# and Write and WriteLine methods are provided by StringWriter to be able to write into the object of StringBuilder and write to a string can be done in a synchronous of asynchronous manner and StringBuilder class stores the information written by StringWriter class.
Syntax:
[SerializableAttribute] [ComVisibleAttribute(true)] public class StringWriter : TextWriter
In order to understand the working of StringWriter class in C#, we need to understand the constructors of the StringWriter class, properties of StringWriter class, and methods of StringWriter class.
There are several properties of StringWriter class. They are explained as follows:
There are several methods of the StringWriter class. They are explained as follows:
1. Close(): The StringWriter and the stream can be closed using Close() method.
2. Dispose(): All the resources used by the object of TextWriter can be released using dispose() method.
3. Equals(Object): Equals(Object) method is used to determine is the specified object is equal to the current object or not.
4. Finalize(): An object can free the resources occupied by itself and perform other operations of cleanup using Finalize() method.
5. GetHashCode(): GetHashCode() method can be used as the hash function by default.
6. GetStringBuilder(): The underlying StringBuilder is returned using GetStringBuilder() method.
7. ToString(): A string consisting of characters is returned to the StringWriter using the ToString() method.
8. WriteAsync(String): A string is written to the string specified as parameter asynchronously using WriteAsync(String) method.
9. Write(Boolean): The Boolean value specified as a parameter is represented in the form of text and is written to the string using the Write(Boolean) method.
10. Write(String): A string is written to the current string specified as a parameter using the Write(String) method.
11. WriteLine(String): A string that is followed by a line terminator is written to the current string specified as a parameter using the WriteLine(String) method.
12. WriteLineAsync(): A string that is followed by a line terminator is written to the current string specified as a parameter asynchronously using WriteLineAsync(String) method.
Below are the examples of C# StringReader class:
Code :
using System using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Program { class Check { //calling the main method static void Main(string[] args) { //define a string to hold the path of the file containing data String str = @"D:\Ex.txt"; //create an instance of the stream writer class and pass the string containing the path of the file to appendtext() method. using (StreamWriter sw = File.AppendText(str)) { //using the instance of the stringwriter class, write the data to the file sw.WriteLine("Welcome to StringWriter class"); sw.Close(); //using the string containing the path of the file, the contents of the file are read Console.WriteLine(File.ReadAllText(str)); } Console.ReadKey(); } } }
Output:
In the above program, a namespace called the program is declared. Then the main method is called. Then a string is declared which holds the path of the file in which the data will be written. Then an instance of the StringWriter method is created which is assigned to the appendtext() method to which the string containing the path of the file is passed as a parameter. Using the instance of the StringWriter class that was just created, data is written to the file Ex.txt. Here the data written is “Welcome to StringWriter class.” Then the instance of the StringWriter class is closed using the Close() method. Then using the string containing the path of the file, the contents of the file are read and the same is displayed in the output.
C# program to demonstrate usage of WriteLine() method of StringWriter class.
Code :
using System; using System.IO; using System.Text; namespace Program { class Check { //Main method is called static void Main(string[] args) { //define a string to hold the data to be displayed string str = "Hello, Welcome to the StringWriter class \n" + "This tutorial is for learning \n" + "Learning is fun"; // An instance of the string builder class is created StringBuilder build = new StringBuilder(); // an instance of the stringwriter class is created and the instance of the stringbuilder class is passed as a parameter to stringwriter class StringWriter write = new StringWriter(build); // data is written using string writer writeline() method write.WriteLine(str); write.Flush(); // the instance of the stringwriter is closed write.Close(); // an instance of stringreader class is created to which the instance of stringbuilder class is passed as a parameter StringReader read = new StringReader(build.ToString()); while (read.Peek() > -1) { Console.WriteLine(read.ReadLine()); } } } }
Output:
In this tutorial, we understand the concept of StringWriter class in C# through definition, constructors of StringWriter class, properties of StringWriter class, and methods of StringWriter class, working of StringWriter class through programming examples and their outputs demonstrating the methods of StringWriter class.
The above is the detailed content of C# StringWriter. For more information, please follow other related articles on the PHP Chinese website!