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 是处理大量字符串操作时提高性能的一种有效方式。

相关推荐
二哈赛车手2 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
代码搬运媛2 小时前
Jest 测试框架详解与实现指南
前端
栗子~~3 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8293 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
counterxing3 小时前
我把 Codex 里的 Skills 做成了一个 MCP,还支持分享
前端·agent·ai编程
wangqiaowq3 小时前
windows下nginx的安装
linux·服务器·前端
之歆4 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
发现一只大呆瓜4 小时前
Vite凭什么这么快?3分钟带你彻底搞懂 Vite 热更新的幕后黑手
前端·面试·vite
Maimai108084 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
未若君雅裁4 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis