社区
C#
帖子详情
string与StringBuilder的优劣
ilingyue
2006-10-27 04:49:34
大家都知道StringBuilder类可以在原来的字符的串上更改字符串内容,
而string对象是恒定的,不可改变的,string的所有方法都仅仅是返回一个新的string对象,而原对象不会改变。
我想知道string类的优势在哪? StringBuilder类的劣势在哪?
为什么不可以把两个类合做一个类?
(既然是两个类,一定不能合的,我只想知道原因)
请各位仁兄帮忙解答!!
谢!
...全文
242
8
打赏
收藏
string与StringBuilder的优劣
大家都知道StringBuilder类可以在原来的字符的串上更改字符串内容, 而string对象是恒定的,不可改变的,string的所有方法都仅仅是返回一个新的string对象,而原对象不会改变。 我想知道string类的优势在哪? StringBuilder类的劣势在哪? 为什么不可以把两个类合做一个类? (既然是两个类,一定不能合的,我只想知道原因) 请各位仁兄帮忙解答!! 谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
股神
2006-10-27
打赏
举报
回复
http://www.cnblogs.com/xingd/archive/2005/02/05/102243.aspx
ilingyue
2006-10-27
打赏
举报
回复
微软完全可以把string和StringBuilder的优点集合起来做成一个类
为什么分开做,一定是各有优劣,
我就是想知道优劣何在?
(到网上搜了一下,大多都是讲StringBuilder的用法)
冷月孤峰
2006-10-27
打赏
举报
回复
对字符操作太多的情况下建议用 StringBuilder
比如:
string a = "adsfadsf" ;
for( int i = 0 ;i < xx.count;i++)
{
a=a+"xx" ;
}
这个时候最好用 StringBuilder 比较合适。
FirstNet
2006-10-27
打赏
举报
回复
学习!
ZiRRen
2006-10-27
打赏
举报
回复
String 会产生很多副本,影响性能.
diandian82
2006-10-27
打赏
举报
回复
string 的优势就是使用方便,劣势是效率太差,而且占资源多.如果遇到大的对象
string a ="many many chars...";
string b = a + "啊啊";
这时,如果a没有用后,要等垃圾回收,在垃圾回收之前就会有两份copy在内存里面.
而StringBuilder我觉得没什么劣势啊?他操作字符串很灵活,我觉得他应该是使用数据结构种的链表实现的.
Ivony
2006-10-27
打赏
举报
回复
StringBuilder的优势是在String要做很多操作时,如大量的替换和串联,这个时候String每一次操作都会产生一个新的String对象,严重影响性能,而StringBuilder可以避免这个问题。也就是说在操作量不大的情况下,StringBuilder反而是没有性能优势的。
Ivony
2006-10-27
打赏
举报
回复
StringBuilder又不是String,更不可能代替String来使用。String永远是只读的,StringBuilder也不可能修改,StringBuilder修改产生的也是一个新的String。
在C#及.NET框架中使用
String
Builder
类操作字符串的技巧
但如果性能的
优劣
很重要,则应该总是使用
String
Builder
类来串联字符串。下面的代码使用
String
Builder
类的 Append 方法来串联字符串,因此不会有 + 运算符的链接作用产生。 class
String
Builder
Test { static ...
基于javatcpsocket通信的拆包和装包源码-someData:存放一些思维导图,图片,ppt等等
String
,
String
Buffer,
String
Builder
的区别,多线程下的优缺点,从源代码分析 对象的三大特性 接口和抽象类的区别,使用场景 类的实例化顺序,当new执行的时候,父类静态数据,父类构造函数,字段,子类静态数据,...
String
与
String
Builder
性能比较
在大量数据的情况下,两者的差距就明显了!
String
str1 =
String
.Empty;
String
Builder
sb1 = new
String
Builder
(); Stopwatch watch1 = new Stopwatch(); watch1.Start();...
我也想谈谈
String
类和
String
Builder
类
.NET除了有我们一直常用的
String
类之外,还提供了一个新的字符型数据类型,那就是
String
Builder
类,在MSDN上是这样介绍
String
Builder
的:
String
对象是不可改变的。每次使用 System.
String
类中的方法之一时,...
string
类与
String
Builder
类性能比较
我们都知道
String
Builder
的性能要比
string
类,是否具体测试过呢,我这里就给出这个程序供测试,一个是Timing类,用来计算时间的。另外一个类就是分别建立
string
,和
string
buider类建立100,1000,10000,100000字符...
C#
110,499
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章