Dan*_*Tao 6 .net stringbuilder buffer constructor
我想知道这段代码是否......
StringBuilder sb = new StringBuilder("Please read the following messages.");
Run Code Online (Sandbox Code Playgroud)
...使用sb与传递给构造函数的字符串完全一样大的缓冲区进行初始化.一方面,这似乎是最合乎逻辑的事情.另一方面,似乎有点打败了StringBuilder类最常见用途之一的目的,即提供可变性以使重复追加更有效.(第一次打电话Append,如果我的问题的答案是"是",则需要sb调整自己的大小.)
然后再次,我想人们可以将其视为与构造函数类似List<T>,并将其IEnumerable<T>作为参数.也许在这种情况下的假设是你不打算附加很多,而是操纵已经存在的东西.
我在这方面做的唯一真正的研究是检查StringBuilder上的MSDN文档,它没有提供答案(它表示构造函数使用指定的字符串初始化实例),但没有指出字符串是如何用过的).
编辑:所以这是"特定于实现"......这对其他人来说似乎并不奇怪吗?我的意思是,宗旨的的StringBuilder类是提供一种替代执行了很多在操作中string,产生一吨不变的string沿途情况; 因此,这是为了提高效率.我觉得应该指定这个构造函数的行为,以便开发人员可以做出明智的决定如何使用它而不管平台.
我的意思是,它是由微软以某种方式实现的; 他们可以很容易地将其放入文档中(迫使其他实现也遵循).只是个人困惑的来源......
| 归档时间: |
|
| 查看次数: |
453 次 |
| 最近记录: |