为什么在.net类库中要同时存在String 类和String Builder类

2025-02-25 01:57:16
推荐回答(4个)
回答1:

stringBuilder比string更节约内存,所以stringBuilder更快
String 对象是不可改变的。每次使用 System.String 类中的方法之一或进行运算时(如赋值、拼接等)时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。而StringBuilder 则不会。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。

回答2:

string使用中如果修改字符串,系统会重新分配内存,String Builder可以直接追加,但容易造成空间浪费

回答3:

在进行大量字符串拼接的时候string builder 的效率远远高于 string

回答4:

String Builder是为了提高字符串操作的性能而诞生的