gpt4 book ai didi

.net - 在什么时候使用StringBuilder变得微不足道或增加开销?

转载 作者:行者123 更新时间:2023-12-03 13:14:34 25 4
gpt4 key购买 nike

最近,我发现自己对所有大小不一的字符串连接都使用StringBuilder,但是在最近的性能测试中,我换掉了同事的stringOut = string1 +“”。 StringBuilder的string2样式串联(每次在10000x +循环中都使用StringBuilder进行更新),以查看它在次要串联中会有什么不同。

我发现,在性能测试的许多次运行中,无论是串联还是StringBuilder(无论是小的串联),更改的幅度都微乎其微地高或低。

在什么时候StringBuilder对象的“更新”否定了使用它的好处?

最佳答案

我遵循的规则是-

如果在编译时串联数未知,请使用StringBuilder。

因此,在您的情况下,每个StringBuilder仅追加几次,然后被丢弃。那和像这样的东西真的不一样

string s = String.Empty;
for (int i = 0; i < 10000; ++i)
{
s += "A";
}


使用StringBuilder可以极大地提高性能,因为否则您将不断分配新的内存。

关于.net - 在什么时候使用StringBuilder变得微不足道或增加开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/550702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com