C# StringBuilder.Clear()方法: 清空 StringBuilder 对象的内容

  • Post category:C#

StringBuilder.Clear() 是用于清空 StringBuilder 对象中的字符串内容的方法。当需要对一个长字符串进行多次编辑时,使用 StringBuilder 相对于对字符串本身进行操作能够获得更好的执行效率。但是如果不及时清空,会导致原来的字符串一直保存在内存中,容易引发内存泄漏的问题。因此,StringBuilder.Clear() 将有着重要的意义。

这个方法是无返回值的,执行后会将 StringBuilder 对象的字符串内容清空。

以下是两个实例:

  1. 在 ASP.NET 应用程序中使用 StringBuilder 构造 HTML 代码
StringBuilder sb = new StringBuilder();
sb.Append("<html>");
sb.Append("<head>");
sb.Append("<title>My Application</title>");
sb.Append("</head>");
sb.Append("<body>");
sb.Append("<h1>Welcome to my application</h1>");    
sb.Append("<p>This is the homepage of my application.</p>");
sb.Append("</body>");
sb.Append("</html>");

// 输出HTML代码
Response.Write(sb.ToString());

// 清空StringBuilder
sb.Clear();
  1. 在循环中使用 StringBuilder 构造长字符串
StringBuilder sb = new StringBuilder();

for (int i = 0; i < 100000; i++)
{
    sb.Append(i.ToString());
}

// 输出长度
Response.Write(sb.Length.ToString());

// 在使用完后清空StringBuilder
sb.Clear();

在以上两个例子中,我们都使用了 StringBuilder.Clear() 方法,在使用 StringBuilder 进行完一次字符串的操作之后及时清空了其的内容,以保证其内存使用的稳定性。