注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Sky

积蓄能量,准备奔跑!

 
 
 

日志

 
 

String和StringBuilder的区别  

2007-11-18 16:10:32|  分类: C#学习笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

最近经常使用stringbuilder进行字符串的拼接,只是知道其比string好用,但是具体原因不是很清楚,说来比较惭愧,于是乎,找些资料认真地研读,发现自己的基础比较薄弱,需要抓紧学习了,下面和像我一样的兄弟姐妹们分享一下:

首先说明string不能修改。

for example:string str1 = "a" ;

                      str1 = "b";

                     此时str1被赋值为b,没有错,但是str里面原来的string值"a"并没有被修改

然后说明string和stringbuilder比较:

for example:(string)

                      string str1 = "a";

                      string str2 = str1 ;

                      str1 += "b" ;

此时str1 =  "ab"; str2 = "b";

for example:(stringbuilder)

                      StringBuilder   str1   =   new   StringBuilder(   "a"   );   
                      StringBuilder   str2   =   str1;   
                      str1.Append(   "b"   );  
  str1.ToString()和str2.ToString()都是"ab"。  

最后总结:

string对象是不可改变的类型,当我们对一个string对象修改后将会产生一个新的string对象,因此在需要经常更改的字符对象时,建议使用StringBuilder类:

[范例代码]构造一个查询字符串

StringBuilder sb=new StringBuilder("");

sb.Append("Select * from Employees where ");

sb.Append("id={0} and ");

sb.Append("title='{1}'");

String cmd=sb.ToString();

sb=null; //在不再需要时清空它

cmd=String.Format(cmd,txtId.Text,txtTile.Text); //用实际的值填充格式项

判断字符串是否为空:

补充一个知识点:

检查一个字符串是否为空,一个有效的方法是使用string类的Length属性来取代使用null或与""比较。

比较字符串:使用String.Equals方法来比较两个字符串

string str1="yourtext";

if (str1.Equals("TestSting") )

{

  // do something

}


 

 

                    

  评论这张
 
阅读(517)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017