深入理解string和如何高效地使用string(3)

2019-03-16 22:00

由于string的恒定性,在我们对一个string进行某些操作的时候,比如调用ToUpper()或者ToLower()把某个string每个字符转化成大写或者小写;调用SubString()取子串;会创建一个新的string,有时候会创建一些新的临时string。这样的操作会增加内存的压力。所有在对string作频繁操作的情况下,我们会考虑使用StringBuilder来高效地操作string。StringBuilder之所以能对string操作带来更好的performance,是因为在它的内部维护一个字符数组,而不是一个string来避免string操作带来的新的string的创建。

StringBuilder是一个很好的字符累加器,我们应该充分地利用这一个功能:

StringBuilder sb = new StringBuilder(); sb.Append(str1 + str2);

最好写成

StringBuilder sb = new StringBuilder(); sb.Append(str1); sb.Append(str2);

避免创建一个新的临时string来保存str1 + str2。

再比如下面的Code

StringBuilder sb = new StringBuilder(); sb.Append(WorkOnString1()); sb.Append(WorkOnString2()); sb.Append(WorkOnString3());

最好写好吧WorkOnString1,WorkOnString2,WorkOnString3定义成:

WorkOnString1(StringBuilder sb) WorkOnString2(StringBuilder sb)

WorkOnString3(StringBuilder sb)

3. 高效地进行string的比较操作

我们知道,对象之间的比较有比较Value和比较Reference之说。一般地对Reference进行比较的速度最快。对于string,在字符串驻留的前提下,我们可以把对Value的比较用Reference的比较来代替从而会的Performance的提升。

此外,对于忽略大小写的比较,我们最好使用string的static方法Compare(string strA, string strB, bool ignoreCase)。也就是说:

if(str1.ToLower()==str2.ToLower())

最好写成

If(string. Compare(str1,str2,true))

作者:Artech

出处:http://artech.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


深入理解string和如何高效地使用string(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:创造性人格的培养方法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: