String Interpolation vs String.Format

问题描述 投票:78回答:2

使用字符串插值是否有明显的性能差异:

myString += $"{x:x2}";

vs String.Format()?

myString += String.Format("{0:x2}", x);

我只是问,因为Resharper正在提示修复,我之前被愚弄了。

c# string performance resharper string-interpolation
2个回答
61
投票

值得注意的是相对的。但是:字符串插值在编译时变为string.Format(),因此它们应该以相同的结果结束。

但是有一些细微的差别:正如我们可以从qazxsw poi问题中看出的那样,格式说明符中的字符串连接会导致额外的qazxsw poi调用。


4
投票

字符串插值在编译时变为string.Format()。

同样在string.Format中,您可以为单个参数指定多个输出,为单个参数指定不同的输出格式。但我认为字符串插值更具可读性。所以,这取决于你。

this

有一些性能测试结果string.Concat()

© www.soinside.com 2019 - 2024. All rights reserved.