构造字符串,尽量不使用+串联

String对象是不可变的,即字符串一经修改便不能更改。因此FCL提供了StringBuilder类型对字符串和字符进行高效动态处理,并返回处理好的String对象。用StringBuilder的ToString方法即可将StringBuilder的字符数组“转换”为String,这样会在堆上新建String对象,其中包含ToString时存在于StringBuilder中的字符串。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            //构造StringBuilder对象,代表可变字符串,即SB的大多数成员都能更改字符数组的内容,同时不会造成在
            //托管堆上分配新对象
            //SB分配新对象的情况:
            //1:动态构造字符串,其长度超过了设置的“容量”
            //2:调用SB的toString()方法
            StringBuilder sb = new StringBuilder();
            Console.WriteLine("SB所能容纳的最大字符数:{0}", sb.MaxCapacity);
            string s = sb.AppendFormat("{0} {1}", "xu", "shuai").Replace(' ', '-').ToString();
            sb.Append("fdfd");
            Console.WriteLine(s);
            Console.WriteLine(sb.ToString());
            Console.ReadKey();
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值