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

相关推荐
金銀銅鐵9 分钟前
带您看懂字节码指令(二):空循环里有什么
java·后端·ai编程
吴名氏.2 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent
.痞老板.3 小时前
java ee--多线程(进阶)
java·java-ee
treasure1403 小时前
【复古】浅尝Django前后端不分离
前端·css·python·django·bootstrap·html·web
深入云栈4 小时前
Netty 4.2.x 源码深度解析 (二十三):ByteBuf 核心设计 —— 索引、类型与零拷贝
java·后端·架构
jay神4 小时前
基于 YOLOv8 的手势识别系统(Web 版)
前端·人工智能·python·深度学习·yolo·计算机视觉·计算机毕业设计
屏什么录4 小时前
长时间录屏中途崩溃:MP4 打不开的 6 种救回方案与参数设置
前端·音视频开发
用户3721574261355 小时前
C# 提取 PDF 附件:包括文档附件和页面注释附件
c#
code_Bo5 小时前
不只命令行:我把跨 Agent 会话同步做成了桌面应用
前端·javascript·后端
kyriewen5 小时前
AI 能把页面写出来,为什么改个需求就开始崩?
前端·javascript·人工智能