C# StringWriter類

這個類用於寫入和處理字符串數據而不是文件。它是派生自TextWriter類。StringWriter類寫入的字符串數據存儲到StringBuilder中。

StringWriter類的目的是將操作字符串的結果保存到StringBuilder中。

StringWriter類簽名

[SerializableAttribute]  
[ComVisibleAttribute(true)]  
public class StringWriter : TextWriter

C# StringWriter構造函數

構造函數

描述

StringWriter()

它用於初始化StringWriter類的新實例。

StringWriter(IFormatProvider)

它用於使用指定的格式控件初始化StringWriter類的新實例。

StringWriter(StringBuilder)

它用於初始化寫入指定StringBuilderStringWriter類的新實例。

StringWriter(StringBuilder,?IFormatProvider)

它用於初始化寫入指定的StringBuilderStringWriter類的新實例,並具有指定的格式提供程序。

C# StringWriter屬性

屬性

描述

Encoding

它用於獲取寫入輸出的編碼。

FormatProvider

它用於獲取控制格式化的對象。

NewLine

它用於獲取或設置當前TextWriter使用的行終止符字符串。

C# StringWriter方法

屬性

描述

Close()

它用於關閉當前的StringWriter和底層流。

Dispose()

它用於釋放TextWriter對象使用的所有資源。

Equals(Object)

它用於確定指定的對象是否等於當前對象。

Finalize()

它允許對象嘗試釋放資源並執行其他清理操作。

GetHashCode()

它用作默認散列函數。

GetStringBuilder()

它返回底層的StringBuilder

ToString()

它返回一個包含寫入當前StringWriter的字符串。

WriteAsync(String)

它用於將異步字符串寫入字符串。

Write(Boolean)

它用於將布爾值的文本表示寫入字符串。

Write(String)

它用於將字符串寫入當前字符串。

WriteLine(String)

它用於將字符串後跟一個行終止符寫入字符串或流。

WriteLineAsync(String)

寫一個字符串後跟一個行終止符與當前字符串異步(覆蓋TextWriter.WriteLineAsync(String)方法。)

C# StringWriter示例

在下面的程序中,使用StringWriter類將字符串信息寫入StringBuilder類。 StringReader類用於讀取寫入信息到StringBuilder類中。

using System;
using System.IO;
using System.Text;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            string text = "Hello, Welcome to the yiibai.com \n" +
                "It is nice site. \n" +
                "It provides IT 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());
            }
        }
    }
}

執行上面示例代碼,得到以下結果 -

Hello, Welcome to the yiibai.com
It is nice site.
It provides IT tutorials