C#--String Build类的使用

String Build类的使用

StringBuilder类的定义

StringBuilder类位于命名空间System.Text中,使用时,可以在文件头通过using语句引入该空间:
using System.Text;
声明StringBuilder对象需要使用new关键字,并可以对其进行初始化。
例如:
StringBuilder strBuilder = new StringBuilder(“Hello World”);
该语句声明了一个StringBuilder对象strBuilder,并初始化为“Hello World”。
如果不使用using关键字在文件头引入System.Text命名空间,也可以通过空间限定来声明StringBuilder对象。
例如:
System.Text.StringBuilder strBuilder = new StringBuilder(“Hello World”);
注意:在声明时,也可以不给出初始值,然后通过其方法进行赋值。

设置StringBuilder类的容量

虽然StringBuilder对象是动态对象,允许扩充它所封装的字符串中字符的数量,但是用户可以为它可容纳的最大字符数指定一个值。此值称为该对象的容量,不应将它与当前StringBuilder对象容纳的字符串长度混淆在一起。
例如,可以创建StringBuilder类的带有字符串“Hello”(长度为5)的一个新实例,同时可以指定该对象的最大容量为25。当修改StringBuilder时,在达到容量之前,它不会为其自己重新分配空间。当达到容量时,将自动分配新的空间且容量翻倍。StringBuilder默认初始分配16个字符长度。

追加操作

追加一个StringBuilder是指将新的字符串添加到当前StringBuilder字符串的结尾处,可以使用Append和AppendFormat方法来实现这个功能。
编写程序,实现对字符串的追加操作。

using System;
using System.Text;
namespace Project18
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化StringBuilder类
            StringBuilder str = new StringBuilder("好好学习,天天向上!");  
            //追加对应的字符串
            Console.WriteLine("====================Append====================");
            Console.WriteLine(str.Append("英语:Study hard and get up every day"));
            //利用插入进行换行
            Console.WriteLine("====================Insert===================="); 
            Console.WriteLine(str.Insert(10,"\n"));
            //利用移除取消换行
            Console.WriteLine("====================Remove====================");
            Console.WriteLine(str.Remove(10,1));
            //替换“英语”为“翻译”
            Console.WriteLine("====================Replace==================="); 
            Console.WriteLine(str.Replace("英语","翻译"));
            Console.WriteLine("=================AppendFormat=================");
            int score = 95;
            Console.WriteLine(str.AppendFormat("英语成绩:{0:F}",score));
            Console.ReadKey();
        }
    }
}

【程序分析】本例演示了对字符串的追加操作。在代码中,首先实例化StringBuilder类的对象strb1,并初始化为“Hello”;接着,使用Append方法,为字符串后面再追加字符串“World”;然后再实例化一个对象strb2,并初始化;最后调用AppendFormat方法,对追加部分的字符串进行格式化。

====================Append====================
好好学习,天天向上!英语:Study hard and get up every day
====================Insert====================
好好学习,天天向上!
英语:Study hard and get up every day
====================Remove====================
好好学习,天天向上!英语:Study hard and get up every day
====================Replace===================
好好学习,天天向上!翻译:Study hard and get up every day
=================AppendFormat=================
好好学习,天天向上!翻译:Study hard and get up every day英语成绩:95.00

插入操作

StringBuilder的插入操作是指将新的字符串插入到当前的StringBuilder字符串的指定位置,如“Hello”变为“Hellllo”。可以使用StringBuilder类的Insert方法来实现这个功能。
其语法格式如下:
public StringBuilder Insert(int index, object value);
其中,参数index指定所要插入的位置,并从0开始索引,如index=1,则会在原字符串的第2个字符之前进行插入操作;同Append一样,参数value并不仅是只可取字符串类型。

删除操作

可以使用Remove方法从当前StringBuilder中移除指定数量的字符,移除过程从指定的从零开始的索引处开始。
其语法格式如下:
public StringBuilder Remove(int startIndex, int length);
其中,参数startIndex指定所要删除的起始位置,其含义同Insert中的index相同;length参数指定所要删除的字符数量。

替换操作

使用Replace方法,可以用另一个指定的字符来替换StringBuilder对象内的字符。该方法有两种重载方式,其语法格式如下:
public StringBuilder Replace(char oldChar, char newChar);
public StringBuilder Replace(string oldValue, string newValue);
其中,参数oldChar和oldValue为待替换的字符和子串,而newChar和newValue为替换后的新字符和新子串。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值