如何在性能方面最好地从另一个 StringBuilder
实例化一个新的 StringBuilder
?(复制构造函数)。
我不想通过不可变字符串传递,因为底层数据非常大。
所以下面的方法是有效的,但不是想要的。
StringBuilder newSB = new StringBuilder(oldSB.ToString());
我想要类似的东西
StringBuilder newSB = new StringBuilder(oldSB);
但是这不受支持。
如何在性能方面最好地从另一个 StringBuilder
实例化一个新的 StringBuilder
?(复制构造函数)。
我不想通过不可变字符串传递,因为底层数据非常大。
所以下面的方法是有效的,但不是想要的。
StringBuilder newSB = new StringBuilder(oldSB.ToString());
我想要类似的东西
StringBuilder newSB = new StringBuilder(oldSB);
但是这不受支持。
其他StringBuilder
实例也存在过多的Append
操作:
var newSB = new StringBuilder(oldSB.Length);
newSB.Append(oldSB);
oldSB.Length
四舍五入到最接近的下一个2的幂。 - Dai
Char[]
缓冲区的内容复制到另一个缓冲区,而不使用String作为中介。 - Dai