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

C#string类和stringBuilder类的区别

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

  首先两个类的工作原理不同:string类是一种传统的修改字符串的方式,当把一个字符串添加到另一个字符串时,系统先是把两个字符串写入内存,接着删除原来的string对象,然后创建一个string对象,并读取内存中的数据付给该对象。

  而System.Text名字空间下的StringBuilder类就不一样了,StringBuilder 类提供的Append方法能够在已有对象的原地进行字符串的修改。这样就会比string的方式省了不少时间(当在一个循环中将一个字符串连接在一起的时候,使用StringBuilder类可以提升性能)

 

一下摘抄StringBuilder类的说明:

①设置容量和长度

StringBuilder MyStringBuilder = new StringBuilder("Hello World");

 

StringBuilder 对象是动态对象,允许扩充它所封装的字符串中字符的数量,但是可以为它的最大可容字符数指定一个值,即该对象的容量,当修改StringBuilder达到最大容量,它将自动分配新的空间且容量翻倍。

StringBuilder MyStringBuilder = new StringBuilder("Hello,World!",25);

 

也可以用MyStringBuilder.Capatity = 25 ,即Capacity属性来设置对象的最大长度

②StringBuilder方法的使用

Append 将字符串追加到当前StringBuilder的结尾

 

StringBuilder sb = new StringBuilder("Hello,World!");

sb.Append("What a beautiful day.");

Console.WriteLine(sb);

 

输出:Hello,World!What a beautiful day.

 

AppendFormat 用带格式文本替换字符串中传递的格式说明符。

int MyInt = 25;

StringBuilder sb = new StringBuilder("Your total is");

sb.AppendFormat("{0:C}",MyInt);

Console.WriteLine(sb);

 

输出:Your total is ¥25.00.

 

 

 

Insert 将字符串插入到当前StringBuilder 对象指定的索引处。

例如:将一个单词插入到StringBuilder的第六个位置

 

StringBuilder sb = new StringBuilder("Hello,World!");            sb.Insert(6,"beautiful");

 

输出:Hello,beautifulWorld!

 

Remove 从当前StringBuilder 对象中移除指定数量的字符。

从零开始的索引处删除指定的字符数量

 

StringBuilder sb = new StringBuilder("Hello,World!");            sb.Remove(4,3);

 

输出:Hellorld!

 

Replace 替换指定索引处的字符。

StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); 
MyStringBuilder.Replace('!', ' '); 
Console.WriteLine(MyStringBuilder);  

 

 

 

 

 


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
纯c++实现之滚动窗口发布时间:2022-07-13
下一篇:
[C++][数据结构]栈(stack)的实现发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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