gpt4 book ai didi

c# - 为什么 StringBuilder 的默认容量是 16 个字符?

转载 作者:行者123 更新时间:2023-11-30 21:10:23 26 4
gpt4 key购买 nike

为什么StringBuilder的默认容量是16个字符?这是某种优化吗?

StringBuilder builder = new StringBuilder();
Console.WriteLine("builder capacity: '{0}'", builder.Capacity);

输出:

builder capacity: '16'

最佳答案

Implementation-specific default values are used if no capacity or maximum capacity is specified when an instance of StringBuilder is initialized.

Straight from the MSDN docs.

他们不能真正优化任何东西,因为它完全取决于使用情况,因此他们允许您在构造函数中指定容量,这样您就可以自己优化它。如果您没有指定任何东西,他们会在您完全基于您想要一些容量的相当安全的猜测上放入一些东西,即使您没有指定任何内容也是如此。

列表也是如此。他们不知道您想要多少项,也不知道您的应用中一个列表平均包含多少项。它们公开了容量,因此您可以将列表大小强制设置为可以防止它过于频繁地增长的大小。 StringBuilder 在这种情况下没有什么不同。

关于c# - 为什么 StringBuilder 的默认容量是 16 个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8521277/

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