C#string和StringBuilder的区别

如题所述

静态串String
System.String是最常用的字符串操作类,可以帮助开发者完成绝大部分的字符串操作功能,使用方便。

动态串StringBuilder
与String类相比,System.Text.StringBuilder类可以实现动态字符串。此外,动态的含义是指在修改字符串时,系统不需要创建新的对象,不会重复开辟新的内存空间,而是直接在原StringBuilder对象的基础上进行修改。
声明StringBuilder串
StringBuilder类位于命名空间System.Text中,使用时,可以在文件头通过using语句引入该空间:
using System.Text;
声明StringBuilder对象需要使用new关键字,并可以对其进行初始化。如以下语句声明了一个StringBuilder对象myStringBuilder,并初始化为“Hello”:
StringBuildermyStringBuilder=new StringBuilder("Hello");
如果不使用using关键字在文件头引入System.Text命名空间,也可以通过空间限定来声明StringBuilder对象:
System.Text.StringBuildermyStringBuilder=new StringBuilder("Hello");
在声明时,也可以不给出初始值,然后通过其方法进行赋值。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-05-04
值类型和引用类型的区别
第2个回答  2015-05-04
张宇和张雨生的区别

c#中string和stringbuilder的区别
C# 中的 string 和 StringBuilder 类是两种不同的字符串类型。string 类型是不可变的, 一旦创建就不能更改。如果需要修改字符串, 需要重新创建一个新的字符串。StringBuilder 类型是可变的, 可以通过调用 Append、Insert、Remove 或 Replace 方法来修改字符串。因此, 当需要进行大量字符串操作时,如果使用...

C#中string和StringBuilder的区别
string是引用类型,在堆上分配内存。string对象一旦生成,就不可以改变。string提供了大量便捷的字符串操作函数。string运算时会产生一个新的实例。在程序中定义相等运算符(== 和 !=),可以方便比较string对象的值(而不是引用)。StringBuilder 具有的特点:StringBuilder对象是动态对象,允许扩充它所封装的...

C#string和StringBuilder的区别
string 是C#语言的基本数据类型;StringBuilder是.net framework类库中的一个类(位于System.Text名称空间) 两者最显著的差异在于:string 拼接操作每次都分配内存,而 StringBuilder 串联操作仅当 StringBuilder 对象缓冲区太小而无法容纳新数据时才分配内存。也就是说,拼接字符串操作特别是大量拼接操作,采...

C#string和StringBuilder的区别
string是个基础类型 StringBuilder是一个封包的一个对象 string每次赋值都会重新分配内存空间 StringBuilder在对象实例化后就不在重新分配内存,所以如果对一个字符串需要多次处理的话,建议使用StringBuilder

C#string和StringBuilder的区别
静态串String System.String是最常用的字符串操作类,可以帮助开发者完成绝大部分的字符串操作功能,使用方便。 动态串StringBuilder 与String类相比,System.Text.StringBuilder类可以实现动态字符串。此外,动态的含义是指在修改字符串时

C#string和StringBuilder的区别
string 只是表达字符串的基本类型,StringBuilder 是用来拼接字符串的辅助类。如果只是简单地用 + 拼接 string 的话,每次拼接都会在静态区多出来一个字符串实例,容易占用过多内存。StringBuilder 对此做了优化,只要每次 Append 一下,最后 ToString 即可。

C#string和StringBuilder的区别
string 是个基类型,标示C#中的字符串类型。StringBuilder是个类,可以看做是操作string的一个辅助类型,StringBuilder提供了Append等等操作字符串的方法,而且最终返回的也是string。简单的可以把StringBuilder理解为string的扩展。

C#中的string与stringbuilder有什么区别
Stringbuilder类是直接用于字符串操作的类,打个比方把 (1)string aa="123456";(2)aa+="789";(3)StringBuilder text=new StringBuilder("123456",12);(4)text.Append("789");如果你输出aa,和text 你会发现他们的输出内容是一样的。但是aa的操作过程实际上是:首先在内存中分配一个地址空间,空间...

C#string和stringBuffer的区别
对了,区别就在于 String 的调用 concat 方法会新建立一个 String 对象,而 StringBuilder 的 append 方法返回的还是原来对象的应用。String 对象是不可改变的。每次使用 System.String 类中的方法之一或进行运算时(如赋值、拼接等)时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新...

C#中String类和StringBuilder类的执行效率问题!?
capacity)为100.一般在不显示指定其缓冲区域时,系统根据前面字符串的长度自动生成缓冲区域.这样一来,StringBuilder的执行连接效率就会比string高的多.但是另一点就是string 类的方法和功能仍然还是比stringBuilder类要强.具体快多少就不得而知了,lz可以设置一个时间函数来看这两条语句的执行时间。

相似回答