无涯教程-C# - StringWriter类

65 阅读2分钟

此类用于写入和处理字符串数据,而不是文件。它是TextWriter类的派生类。StringWriter类写入的字符串数据存储到StringBuilder中。

此类用于操作字符串并将结果保存到StringBuilder中。

StringWriter类签名

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

C#StringWriter构造函数

Constructors Description
StringWriter() 它用于初始化 StringWriter 类的新实例。
StringWriter(IFormatProvider) 它用于初始化具有指定格式控件的 StringWriter 类的新实例。
StringWriter(StringBuilder) 它用于初始化写入指定 StringBuilder 的 StringWriter 类的新实例。
StringWriter(StringBuilder,?IFormatProvider) 它用于初始化 StringWriter 类的新实例,该实例写入指定的 StringBuilder 并具有指定的格式提供程序。

C#StringWriter属性

Property Description
Encoding 它用于获取写入输出的编码。
FormatProvider 它用于获取控制格式的对象。
NewLine 用于获取或设置当前 TextWriter 使用的行终止符字符串。

C#StringWriter方法

Methods Description
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 javatpoint \n" +
                "It is nice site. \n" +
                "It provides technical Learnfk";
            // 创建 StringBuilder 实例
            StringBuilder sb = new StringBuilder();
            // 将 StringBuilder 实例传递给 StringWriter
            StringWriter writer = new StringWriter(sb);
            // 使用 StringWriter 写入数据
            writer.WriteLine(text);
            writer.Flush();
            // 关闭写入器连接
            writer.Close();
            // 创建 StringReader 实例并传递 StringBuilder
            StringReader reader = new StringReader(sb.ToString());
            // 读取数据
            while (reader.Peek() > -1)
            {
                Console.WriteLine(reader.ReadLine());
            }
        }
    }
}

输出:

Hello, Welcome to the javatpoint
It is nice site.
It provides technical Learnfk

参考链接

www.learnfk.com/csharp/c-sh…