• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#string与StringBuilder

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

System.String   引用类型

基本成员

Length  返回字符串的长度。

Contains()  判断当前字符串对象是否包含一个指定的字符串对象。

Insert()  用来接收新插入字符串数据后的当前的字符串的副本。(string的“副本“特点)

Remove()/Replace()  接收一个带有修改(被删除或替换的字符)了的字符串的副本。

Substring()  返回当前字符串的子字符串。

ToCharArray()  返回一个表示当前字符串的资附数组。

ToUpper()/ToLower()  创建当前字符串的大小写副本。

Format()  格式化一个字符串的字面量。

String的相等性运算(==和!=)比较的是字符串对象的值,而非比较者所引用的内存。

拼接操作:+或静态的System.Concat()方法。

索引器访问字符串:

(1)String str="123456";

for(int i=0;k<str.Length;i++)

Console.WriteLine("Char {0} is {1}",i,str);

(2)System.String中维护者也个System.Char类型的数组--〉

String str="123456";

foreach(char c in str)  Console.WriteLine(c);

 

System.Text.StringBuilder:

StringBuilder提供了对底层缓冲区的直接访问。与System.String一样,System.Text.Builder提供了用来从对象中追加,格式化,插入和删除数据的大量成员。

区别

String的功能已经使得他在处理字符类类型上面应经很完美了。但是在创建大量使用文本数据的程序时,它的效率就显得低了些。原因就是:当优点太优了的时候,从另一方面看时可能也会是缺点(牺牲其它方面)。--〉.NET字符串的一个非常重要的事实,字符串一旦建立,它的值就将不可再被修改。表面上我们可以给字符串变量任意赋新值,但实际上并没有修改已存在的字符串对象的底层缓存区,而是字符串变量(引用型)指向了新的字符串对象,原先的字符串最终将被垃圾回收掉。字符串的拼接,转换大小写等于此情况类似,

StringBuilder:解决了String重复开辟空间对资源的浪费。它提供了对底层缓冲区的直接访问。长度是可变的。创建对象的同时可以指定对象所包含的字符串的初始个数,默认情况容量16。缓冲区会在初始容量不足时实时的调整大小。

总:在许多情况下,应选择System.String表示文本,对多数应用程序来说,可以忽略返回一个修改的字符数据的副本的开销。但是,若创建的是一个文本密集的应用程序(如一个字符处理程序),使用System.Text.StringBuilder的性能要好得多。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
POJC++程序设计编程题#3编程作业—多态与虚函数发布时间:2022-07-14
下一篇:
C#使用各种时间戳及转换发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap