C#String & StringBuilder

    在看J2SE的时候,再次看到了String这个字眼,其实在C#系统实践的进程中就屡次使用了:

    对String和StringBuilder最大的区分就是可变不可变的问题,其实这个在数据类型中是存在多对对照并行存在的,就比如Char和Varchar的完善对照。

String:

    在机房收费系统又或学生信息管理系统中,由于全部系统相对来讲就是小型化的,所以我们最多就是使用了String类型,来完成我们对字符串的定义。其实String就是1个字符串常量,是不可改变的,就Java内存分析角度来讲,就是每次只要字符串的内容产生改变,就必须重新分配内存。假定1个有着1个10000次的1个循环,每次迭代都重新分配1下,这样性能低便可想而知。

StringBuilder:

      它是在String的完善的基础上,才被人所使用的。StringBuilder晓得了分配1个缓存,也就是1个工作区来解决这些问题,当字符串大小没有超过容量时,不会分配新的容量,当超过时,就会自动增加容量,这样等所有的事情全部履行完成以后,直接提交,则会提高性能。

     虽然StringBuilder对象是动态对象,但是扩充所封装的字符串的数量,再此容量不要和之前了解的StringBuilder的长度混淆在1起,

For Example:

    可以创建1个带有字符串“friends"(长度为7)的例子,如果我指定该对象的最大容量为25,那末StringBuilder可以将MyStringBuilder的对象扩充到最大25的空白:

StringBuilder MyStringBuilder=new StringBuilder(Hello,My dear Friends!", 25);

最大容量可以这样来定义:

MyStringBuilder.Capacity =25;

在我们项目中,我们最经常使用的还是.Append:

StringBuilder StrBuilder=new StringBuilder();
StringBuilder.Append(" ");
StringBuilder.Append(" ");
StringBuilder.Append(" ");
StringBuilder.Append(" ");
……

这样使用的好处也是为了提高性能。

在StringBuilder中,经常使用的几种方法为:

StringBuilder.Append()。将内容追加到当前StringBuilder字符串的结尾。
Eg:StringBuilder MySB = new StringBuilder("您好!"); MySB.Append(" 大家好!"); Console.WriteLine(MySB);
StringBuilder.AppendFormat()。用1个带格式文本来代替字符串要传递的符号。
Eg:int MyMoney = 24; StringBuilder MySB = new StringBuilder("欠我的钱是 ");
MySB.AppendFormat("{0:C} ", MyMoney); Console.WriteLine(MySB);
StringBuilder.Insert(int,string)。将字符串和对象插入到当前StringBuilder字符串的指定位置。
StringBuilder.Remove(p,n)。在当前StringBuilder对象中移除指定的字符,就是说从p位置开始删除n个字符。
StringBuilder.Replace(a,b)。就是用b替换a指定字符串,a和b都是字符或字符串。
Eg: string a="aaa aaa aaa";
string b=a.Replace(‘a’,‘w’);
结果输出“www www www”。

    除这两种以外,还有1种就是StringBuffer,和StringBuilder相比来讲,最大的优势就是适用于多线程的情况下,总结1下3者的使用情况:

1)如果操作量少  —String

2)单线程操作字符串缓冲区下操作大量数据   —StringBuilder

3)多线程操作字符串缓冲区下操作大量数据   —StringBuffer

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » C#String & StringBuilder

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡