C# StringBuilder

在 C#中, StringBuilder 是一个用于创建可变字符串的类。它属于 System.Text 命名空间。 StringBuilder 提供了一种高效的方式来修改字符串,特别是当你需要多次修改一个字符串时,比如在循环中拼接字符串。使用 StringBuilder 比使用不可变的 string 类型更高效,因为它避免了在每次修改时创建新的字符串实例。

以下是一些基本的 StringBuilder 使用方法:

创建 StringBuilder 实例:

csharp 复制代码
StringBuilder sb = new StringBuilder();

追加字符串:

csharp 复制代码
sb.Append("Hello, ");
sb.Append("World!");

插入字符串:

csharp 复制代码
sb.Insert(0, "Welcome to ");

删除字符串:

csharp 复制代码
sb.Remove(0, 12); // 删除前12个字符

替换字符串:

csharp 复制代码
sb.Replace("World", ".NET");

清空 StringBuilder:

csharp 复制代码
sb.Clear();

转换 StringBuilder 为字符串:

csharp 复制代码
string result = sb.ToString();

使用容量:

StringBuilder 有一个 Capacity 属性,你可以设置它的初始容量,以便在预期会有很多修改时减少重新分配内存的次数。

使用链式调用:

Append, Insert, Remove, Replace 等方法都返回 StringBuilder 实例本身,允许链式调用:

csharp 复制代码
sb.Append("Hello").Append(" ").Append("World!");

总结

使用 StringBuilder 是处理大量字符串操作时提高性能的一种有效方式。

相关推荐
量化分析码农5 小时前
【Python量化多因子实战 04】因子暴露不是 alpha:市值与行业中性化实战
前端·后端
SL_staff5 小时前
BI项目失败率90%?JVS如何用三阶闭环构建可落地的数据生产力平台
java·开源·全栈
不可能片场6 小时前
Electron 发布 正文写入的三条通道与读回口径
前端·electron
jerrywus6 小时前
让 AI 帮你部署 Vercel,报错了也不用手动搬日志
前端·agent·mcp
补码缩写6 小时前
11 行 Python 拆 PNG 块,解压后的字节数能手算
前端
coding漫漫长路6 小时前
PNG压缩先看图是哪一类,先无损再量化多半白做
前端
用户257680763216 小时前
搜「洗牙」为什么搜不到「洁治」
前端
费曼学习法6 小时前
Agent 死循环的根因不在模型:错误分类、退避、熔断、快照四层实现
前端
修炼的dance6 小时前
同一张PNG换五种压法,体积差在颜色数上
前端
Lank_M6 小时前
PNG 有损压缩省下的体积,大头不在 deflate
前端