StringBuilder

普通字符串 string 一旦写出来就不能改了。你每次用 + 拼接,C# 都会偷偷扔掉旧的、造一个新的,拼 100 次就要造 100 个垃圾,程序会越来越慢。
StringBuilder 像一本草稿本,你可以在上面不断涂改、追加,最后一次性誊写成正式文稿。既快又省内存。

——————————————————————————————————————————————————————————————————————————————————————————————————

案例 1:拼接几句话
csharp
using System.Text;

StringBuilder sb = new StringBuilder();
sb.Append("你好");
sb.Append(",世界");
sb.Append("!");
sb.AppendLine(); // 换行
sb.AppendLine("第二行");

Console.WriteLine(sb.ToString());
Append 是往后加字,AppendLine 是加字并换行,最后 ToString() 把草稿本内容打印出来。

——————————————————————————————————————————————————————————————————————————————————————————————————

案例 2:循环拼数字(StringBuilder 的强项)
csharp
StringBuilder sb = new StringBuilder();

for (int i = 1; i <= 5; i++)
{
sb.Append(i);
sb.Append(" ");
}

Console.WriteLine(sb.ToString());
// 输出:1 2 3 4 5
如果在循环里写 s = s + i,每次都会造一个新字符串;用 StringBuilder 只在一个本子上写,效率高得多。

——————————————————————————————————————————————————————————————————————————————————————————————————

案例 3:格式化插入内容
csharp
StringBuilder sb = new StringBuilder();

sb.AppendFormat("姓名:{0},年龄:{1}", "小明", 20);
sb.AppendLine();
sb.Append("状态:在线");

Console.WriteLine(sb);
AppendFormat 像 Console.WriteLine 一样,可以把变量填进模板里,直接写到草稿本上。

posted @ 2026-08-04 16:15  菜鸟的奋斗军  阅读(6)  评论(0)    收藏  举报