在.NET中如何将一个string对象转化为一个stringbuilder对象

2024-12-18 19:08:50
推荐回答(4个)
回答1:

直接使用StringBuilder 构造函数 (String),就可以把string对象转换成一个StringBuilder对象。如下例所示:

string initialString = "Initial string.";
StringBuilder stringBuilder = new StringBuilder(initialString);

StringBuilder对象说明:

StringBuilder 类
表示可变字符字符串。适时使用StringBuilder 类可以提高程序性能。

备注
此类表示值为可变字符序列的类似字符串的对象。之所以说值是可变的,是因为在通过追加、移除、替换或插入字符而创建它后可以对它进行修改。有关比较,请参见 String 类。
大多数修改此类的实例的方法都返回对同一实例的引用。由于返回的是对实例的引用,因此可以调用该引用的方法或属性。如果想要编写将连续操作依次连接起来的单个语句,这将很方便。
StringBuilder 的容量是实例在任何给定时间可存储的最大字符数,并且大于或等于实例值的字符串表示形式的长度。容量可通过 Capacity 属性或 EnsureCapacity 方法来增加或减少,但它不能小于 Length 属性的值。
如果在初始化 StringBuilder 的实例时没有指定容量或最大容量,则使用特定于实现的默认值。

性能注意事项
String.Concat 和 AppendFormat 方法都将新数据串连到一个现有的 String 或 StringBuilder 对象。String 对象串联操作总是用现有字符串和新数据创建新的对象。StringBuilder 对象维护一个缓冲区,以便容纳新数据的串联。如果有足够的空间,新数据将被追加到缓冲区的末尾;否则,将分配一个新的、更大的缓冲区,原始缓冲区中的数据被复制到新的缓冲区,然后将新数据追加到新的缓冲区。
String 或 StringBuilder 对象的串联操作的性能取决于内存分配的发生频率。String 串联操作每次都分配内存,而 StringBuilder 串联操作仅当 StringBuilder 对象缓冲区太小而无法容纳新数据时才分配内存。因此,如果串联固定数量的 String 对象,则 String 类更适合串联操作。这种情况下,编译器甚至会将各个串联操作组合到一个操作中。如果串联任意数量的字符串,则 StringBuilder 对象更适合串联操作;例如,某个循环对用户输入的任意数量的字符串进行串联。

回答2:

这个非常简单啊 ,直接用StringBuilder的构造函数就行了
string str = "just for test.";
StringBuilder sb = new StringBuilder(str);

反之就是用 sb.ToString();

回答3:

string strTest = "who are you?";
StringBuilder sBuilder = new StringBuilder(strTest);
string str = sBuilder.ToString();

回答4:

首先创建个stringbuilder的对象
stringbuilder 对象名= new stringbuilder();
给对象赋值