目录
本篇文章来区分string、StringBuilder,主要从可变性,性能,线程安全三个方面进行比较。
区分string和StringBuilder
1.可变性
1)string
string不可变。每次修改都会创建一个新的字符串对象。适合于不需要频繁修改的场景,如简单的字符串拼接和读取。
string greeting = "Hello";
string name = "World";
//产生的结果,通常会被优化为一个string对象"Hello, World!"
string message = greeting + ", " + name + "!";
总共有3个string对象:"Hello","World","Hello, World!"
2)StringBuilder
StringBuilder可变。在原有对象上进行修改,适合于频繁修改的场景,如在循环中拼接字符串。
StringBuilder sb = new StringBuilder();//using System.Text;
sb.Append("Hello");
sb.Append(",");
sb.Append("Hello");
sb.Append("!");
string fullName = sb.ToString();//"Hello, World!"

最低0.47元/天 解锁文章
2810

被折叠的 条评论
为什么被折叠?



