getter 将收到有关其所在结构状态的消息,该状态由结构属性的组合定义,这些属性是有限的。
首先,这与微优化无关,我只是认为:
StringBuilder msg = new StringBuilder();
...
msg.AppendLine("static string");
...
看起来更干净:
String msg = String.Empty;
...
msg = String.Concat(msg, "static string", System.Environment.NewLine)
...
所以只是一种审美选择。
msg 变量必须以任何方式初始化为空,因此额外的行不会打扰我。但是在返回字符串的字段中构造一个新的 StringBuilder 有多糟糕呢?
编辑 我只是想知道将 StringBuilder 构造函数放在 getter 中是否会打开一大堆蠕虫,这是荒谬的开销,有些人从不使用 getter 中的构造函数,等等……不知道每个人的最喜欢的连接非循环字符串的最高效方式。
EDIT2 getter 通常的最佳实践性能阈值是什么,StringBuilder 构造函数是否低于该阈值?