【C#补全计划】StringBuilder
一、问题引入
string类型是特殊的引用,每次重新赋值或拼接时都会分配新的内存空间,如果一个字符串经常改变会非常浪费空间
二、StringBulider的概念
1. 是C#提供的一个用于处理字符串的公共类
2. 主要解决的问题是:修改字符串而不创建新的对象,需要频繁修改和拼接字符串时使用,可以提升性能。
3. 使用前需要引用命名空间System.Text
三、StringBulider的初始化
1. 代码:
using System;
using System.Text;namespace Stringbuilder
{class Program{static void Main(string[] args){// 初始化StringBuilder sb = new StringBuilder("122333");Console.WriteLine("原始字符串: " + sb); // 122333}}
}
运行结果如下:
四、StringBulider的容量
1. 获取容量:StringBuilder对象名.Capacity
2. 获取长度:StringBuilder对象名.Length
3. 代码:
using System;
using System.Text;namespace Stringbuilder
{class Program{static void Main(string[] args){// 初始化StringBuilder sb = new StringBuilder("122333");Console.WriteLine("原始字符串: " + sb); // 122333// 获取容量Console.WriteLine();Console.WriteLine("容量: " + sb.Capacity); // 默认容量为16// 获取长度Console.WriteLine("长度: " + sb.Length); // 6}}
}
运行结果如下:
五、StringBulider的操作
1. 增加字符串:Append(要添加的字符串)、AppendFormat("占位符", 字符串列表)
2. 插入字符串:Insert(起始位置, 要插入的字符串)
3. 删除字符串:Remove(起始位置,删除字符串的长度)
4. 修改字符串:StringBuilder对象名[索引] = 要修改的字符
5. 替换字符串:Replace(被替换的字符串, 替换为的字符串)
6. 查找字符串:StringBuilder对象名[索引]
7. 清空字符串:Clear()
8. 代码:
using System;
using System.Text;namespace Stringbuilder
{class Program{static void Main(string[] args){// 初始化StringBuilder sb = new StringBuilder("122333");Console.WriteLine("原始字符串: " + sb); // 122333// 获取容量Console.WriteLine();Console.WriteLine("容量: " + sb.Capacity); // 默认容量为16// 获取长度Console.WriteLine("长度: " + sb.Length); // 6// 增加字符串Console.WriteLine();sb.Append("4444"); // 添加字符串Console.WriteLine("添加字符串后: " + sb); // 1223334444sb.AppendFormat(" {0} {1}", "55555", "666666"); // 格式化添加字符串Console.WriteLine("格式化添加字符串后: " + sb); // 122333444455555666666// 插入字符串sb.Insert(0, "0"); // 在索引0处插入字符串Console.WriteLine("在索引0处插入字符串后: " + sb); // 0122333444555566666// 删除字符串sb.Remove(0, 1); // 删除索引0处的字符Console.WriteLine("删除索引0处的字符后: " + sb); // 1223334444555566666// 修改字符串sb[0] = '0';Console.WriteLine("修改索引0处的字符后: " + sb); // 0223334444555566666// 替换字符串sb.Replace("4", "8"); // 替换所有的4为8Console.WriteLine("将4替换为8后的字符串: " + sb); // 0223338888555566666// 查找字符串Console.WriteLine("索引为5的字符: " + sb[5]); // 3// 清空字符串sb.Clear(); // 清空字符串Console.WriteLine("清空字符串后: " + sb); // 空字符串}}
}
运行结果如下:
今天的学习就到这里了。感谢阅读。
再见!