cap*_*apn 0 c# getter stringbuilder
getter将获得有关它所在的struct的状态的消息,它由struct的属性的组合定义,这些属性是有限的.
首先,这不是关于微优化,我只是认为:
StringBuilder msg = new StringBuilder();
...
msg.AppendLine("static string");
...
Run Code Online (Sandbox Code Playgroud)
看起来更清洁:
String msg = String.Empty;
...
msg = String.Concat(msg, "static string", System.Environment.NewLine)
...
Run Code Online (Sandbox Code Playgroud)
所以只是一种美学选择.
msg变量必须以任何方式初始化为空,因此额外的行不会给我带来麻烦.但是在返回字符串的字段中构造一个新的StringBuilder有多糟糕?
编辑 我只是想知道,如果把一个StringBuilder构造函数的吸气剂要开拓蠕虫的一个巨大的罐头,是荒谬的开销,一些从来没有在干将样的反模式的东西使用构造函数,等等......不知道大家是最喜欢连接非循环字符串的最佳方式.
EDIT2 getter的常用,最佳实践,性能阈值是什么,StringBuilder构造函数是否低于此值?
为什么不这样做?
msg + "static string" + Environment.NewLine
Run Code Online (Sandbox Code Playgroud)
它将编译为与第二个示例相同的内容.
更新
您更改了代码,以便您想要创建包含大量行的非常大的字符串.
然后我想这很好用StringBuilder,但我建议你把它作为一种方法(如何覆盖ToString?)而不是属性,以便调用者不太可能认为调用便宜.
| 归档时间: |
|
| 查看次数: |
618 次 |
| 最近记录: |