【发布时间】:2014-01-20 22:15:16
【问题描述】:
我看到了这个问题
best-way-to-clear-contents-of-nets-stringbuilder/
回答者将长度设置为零并且还担心容量? 设置容量真的很重要吗?
如果我们反汇编 .net 4.5 Library,导航到 System.Text.StringBuilder
/// <summary>
/// Removes all characters from the current
<see cref="T:System.Text.StringBuilder"/> instance.
/// </summary>
///
/// <returns>
/// An object whose <see cref="P:System.Text.StringBuilder.Length"/>
/// is 0 (zero).
/// </returns>
[__DynamicallyInvokable]
public StringBuilder Clear()
{
this.Length = 0;
return this;
}
当我们已经将它的长度设置为零时,设置容量真的很重要吗... 还是ms不在乎?
【问题讨论】:
-
最常见且通常最好的方法是简单地放弃 StringBuilder 并创建一个新的。 Clear() 仅在您可以重复使用一个非常大的 (> 80 kB) 时才有用。
-
旧 .NET 版本确实如此。不再适用于 4.0 及更高版本,它现在使用 ropes。
标签: c# .net stringbuilder