我正在log
.Net中做一个在每个进程之前和之后都会string
用消息填充的:
"proceso x realizado \n"
"proceso y saltado \n" //porque o se realiza x o y
"proceso a fallo al sumar \n"
"proceso n [...] \n"
string
每条消息与它拥有的所有消息一起添加到每个进程之后。
正如标题中显示的那样,有几种方法可以创建string
这种类型之一。
我的问题是,哪种创建 a 的方法string
是消耗更少资源或更高效的方法。
需要注意的是,string
结尾至少有 25 行
对于C#案例:
String.Format
它在内部使用StringBuilder
:运算符
+
变成String.Concat
当我们有这个代码示例时:
编译后变成:
官方文档说:
所以:
(现在samjudson的这个回答是有道理的,他提到第一次执行和订单很重要,而且总是需要更长的时间)
总之
这取决于您的测试目标,因为在一天结束时,您提供给您的格式
String
也会消耗资源,因为添加一个简单的字符串与添加一个具有特定格式的字符串不同(在这种情况下它会StringBuilder.Append()
反对StringBuilder.AppendFormat()
)。有些人根据他们目前使用的元素数量来确定使用的技术。Like aStringBuilder
具有比串联更多的功能。你应该选择哪一个?答案是视情况而定。对于您暴露的情况,我建议使用
String.Concat
,对于更详细的情况,最好是StringBuilder
。参考:
从其他字符串的连接中创建字符串的最有效方法是使用类
StringBuilder
,正如其名称所示,其目标是对象的构造String
。