C#的StringBuilder类型用法

来源:互联网 发布:软件行业会计核算 编辑:程序博客网 时间:2024/06/04 23:32
我们在使用String类构造一个字符串时,要给它分配足够的内存来保存字符串,当我们需要对创建好的字符串在进行某些操作,例如我们再添加一个字符串到旧的字符串对象上,它不会将新字符串添加到旧的字符串对象中,因为在旧字符串对象在被初始化时已经分配了该字符串足够的内,在把这个新的字符挤进去显然不行,因此它会创建一个新的字符实例,给它一个足够的内存来放置新字符串和旧字符串,那么旧的字符串对象将不再引用旧字符串,所以只能等待垃圾收集。但这问题就来了,当我们频繁对这个字符串进行操作时,那么就会遇到严重的性能问题,所以为了解决这类问题,我们可以使用StringBuilder类。
StringBuilder类分配的内存会比它需要的更多,我们可以选择指定StringBuilder要分配多少内存,但如果没有指定,默认情况下根据初始化StringBuilder实例时的字符长度来确定内存的大小。那么对StringBuilder实例进行字符串的修改就只在内存中进行,只有执行扩展字符串容量的操作,才需要重新分配新内存.
使用StringBuilder对象构造的字符串:
StringBuilder test = new StringBuilder("I was in the test this string", 40);
 test.AppendFormat("The results as I guess")
那么这个StringBuilder共有5个带参数的构造函数,和一个无参的构造函数:
可以只提供一个字符串:
StringBuilder test1 = new StringBuilder("你好");
或者给定一个容量:
 StringBuilder test = new StringBuilder(40);
或者给定初始容量和最大容量:
 StringBuilder test = new StringBuilder(100,150);

注意不能把StringBuilder强制转换为String(隐式转换和显示转换都不行),如果要把StringBuilder的内容输出为String,唯一的方式就是使用ToString()方法。

AT:Coyote  知识正在蔓延
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝天猫退货单号填错了怎么办 淘宝退货我把快递单号弄丢了怎么办 唯品会退货快递单号填错了怎么办 天猫换货写错运单号怎么办 训练衣舍的店铺名连接怎么办 兼职模特被骗去微整还贷了款怎么办 卖家已经发货了我要退款怎么办 卖家显示发货单号信息查不到怎么办 淘宝申请退款卖家发货了怎么办 咸鱼卖家不发货好会自动退款怎么办 淘宝卖家涨价后不发货怎么办 淘宝卖家发货选错在线下单怎么办 申请退款后卖家又虚假发货了怎么办 公司用淘宝没发票做账怎么办 淘宝网买了假货确认了怎么办? 吃了安眠药睡了一天还没有醒怎么办 淘宝买的东西退货快递弄丢了怎么办 在淘宝上已付钱店家说没货了怎么办 从淘宝物流寄东西到国外被扣怎么办 不是天猫的淘宝卖家不发货怎么办 微店违规说卖假冒商品怎么办 云集微店的商品没货了怎么办 淘宝买家被检测有虚拟交易怎么办 媒体声音突然没有声音了该怎么办 华为微信运动步数为零怎么办 淘宝店铺没货了客户拍了怎么办 房子涨价了卖家反悔不卖了怎么办 买的东西很贵质量不好怎么办 在淘宝开的店账号忘了怎么办 建了个淘宝优惠券群没人购物怎么办 刚开的淘宝店没有生意怎么办 房产代理公司不给渠道结佣金怎么办 天猫超过72小时不发货怎么办 流量魔盒苹果下载怎么打不开怎么办 淘宝包邮店铺新疆地区拍怎么办 淘宝客服当顾客要优惠时怎么办 微信手机号注册的找不到了怎么办 之前注册的微信找不到了怎么办 苹果ipad的id密码忘了怎么办 淘宝和支付宝用一张银行卡怎么办 淘宝卖家填写虚假物流信息怎么办