这个类用于写入和处理字符串数据而不是文件。它是派生自textwriter类。stringwriter类写入的字符串数据存储到stringbuilder中。
stringwriter类的目的是将操作字符串的结果保存到stringbuilder中。
stringwriter类签名
[serializableattribute]
[comvisibleattribute(true)]
public class stringwriter : textwriter
c# stringwriter构造函数
| 构造函数 | 描述 |
|---|---|
| stringwriter() | 它用于初始化stringwriter类的新实例。 |
| stringwriter(iformatprovider) | 它用于使用指定的格式控件初始化stringwriter类的新实例。 |
| stringwriter(stringbuilder) | 它用于初始化写入指定stringbuilder的stringwriter类的新实例。 |
| stringwriter(stringbuilder,?iformatprovider) | 它用于初始化写入指定的stringbuilder的stringwriter类的新实例,并具有指定的格式提供程序。 |
| 属性 | 描述 |
|---|---|
| encoding | 它用于获取写入输出的编码。 |
| formatprovider | 它用于获取控制格式化的对象。 |
| newline | 它用于获取或设置当前textwriter使用的行终止符字符串。 |
| 属性 | 描述 |
|---|---|
| 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)方法。) |
在下面的程序中,使用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 h3.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 h3.com
it is nice site.
it provides it tutorials