【黑马程序员】string,StringBuilder(学习笔记)
2013-04-05 18:55
267 查看
------- WindowsPhone 7手机开发、.Net培训、期待与您交流! ------- String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不会。所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用 String 如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和String类简直不是一个数量级的。 |
如: string str="Hello"; //str变量指向"Hello"
str="World"; //改变了str的指向,指向"World",而原来的字符串"Hello"仍然存在,只是没有变量指向它
对很长的或需要频繁操作的字符串,往往消耗大量的资源
而StringBuilder允许直接修改字符串本身的内容,而不是每次操作都生成新的字符串
相关文章推荐
- 黑马程序员之C# 学习笔记:关于string与stringbuilder的区别
- 黑马程序员---String学习笔记
- C#学习笔记4-string和StringBuilder
- Java学习笔记之String、StringBuffer和StringBuilder
- C# 学习笔记:关于string与stringbuilder的区别
- 黑马程序员-Java基础-String和StringBuffer学习笔记
- 【Java学习笔记】String、StringBuffer和StringBuilder
- 黑马程序员---OC学习笔记之NSString的其他使用和NSMutableString的用法
- 黑马程序员之C#学习笔记:StringBuilder字符串总结
- 黑马程序员_学习日记38_602基础加强(string、StringBuilder、Object.ReferenceEquals)
- JAVA学习笔记——字符串操作(String,StringBuffer,StringBuilder)
- 黑马程序员_java学习笔记之(StringBuider&Stringbuffer)区别
- 黑马程序员--Java笔记09--字符串String 及StringBuilder等及其常用方法
- 【Java学习笔记】Day 3 String及StringBuilder及StringBuffer 【待整理】
- 黑马程序员-java学习笔记-String
- 黑马程序员—Java基础学习笔记之String&&StringBuffer&&StringBuilder
- java学习笔记(7) -- String、StringBuffer、StringBuilder的区别
- C#学习笔记之——一些练习(包含了一些out的使用,string的使用,StringBuilder的使用,类的属性,最大公约数的求法,还有英雄,武器类的设置)
- [读书笔记]C#学习笔记八:StringBuilder与String详解及参数传递问题剖析
- String、StringBuffer、StringBuilder、Math学习笔记