C#中的StringBuilder相关方法
2026/7/22 4:22:40 网站建设 项目流程

StringBuilder是一个用于处理字符串的公共类,相比于String其优势在于避免在对字符串操作时频繁产生新对象而造成GC,影响程序性能。使用时需要引用System.Text命名空间。且在利用StringBuilder声明字符串对象时,需要new出对应的对象。
StringBuilder本质仍然是字符数组,但在实例化时会预先留存一定空间,这样就会避免在添加字符时触发内存迁移,同样提升了性能。当添加的内容超过预留空间时,默认会将空间大小*2来进行扩容。
接下来我们便可以对该对象进行一系列操作了,且操作时是直接对原字符串进行修改而非产生新的字符串。

using System.Data; using System.Text; namespace ConsoleApp17 { class Program { static void Main(string[] args) { StringBuilder sb = new StringBuilder("abcdefg"); Console.WriteLine(sb); //获取当前总空间长度 Console.WriteLine(sb.Capacity); //获取当前字符串的实际长度 Console.WriteLine(sb.Length); #region 增删查改 //增加 sb.Append("hi"); Console.WriteLine(sb); sb.AppendFormat("{0}", "j"); Console.WriteLine(sb); //插入 sb.Insert(10, "k"); Console.WriteLine(sb); //删除 sb.Remove(7, 10); Console.WriteLine(sb); //清空 sb.Clear(); Console.WriteLine(sb); //查找 StringBuilder sb2 = new StringBuilder("abcdefg"); Console.WriteLine(sb2[0]); //修改 sb2[0] = 'A'; Console.WriteLine(sb2); //替换 sb2.Replace("b", "B"); Console.WriteLine(sb2); //对StringBuilder类的对象重新赋值,需要结合Clear()与Append()使用 sb2.Clear(); sb2.Append("abcdefg"); //判断引用类型是否等同,采用Equals()方法 bool judge = sb2.Equals("abc"); Console.WriteLine(judge); #endregion } } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询