是否更快使用string.Format或插值与$" ..."?

时间:2016-02-25 10:28:56

标签: c# string-interpolation

在这两种字符串插值方法(string.Format和" $"运算符)中,哪一种比另一种好,如果是,在什么情况下以及为什么?

两者做同样事情的例子:

//string.Format
string s = string.Format("( {0} ) , ( {1} )", string.Join(", ", columnNames),string.Join(", ",values));

//"$" interpolation operator
string s = $"( {string.Join(", ", columnNames)} ) , ( {string.Join(", ", values)} )";

2 个答案:

答案 0 :(得分:2)

字符串插值在编译时变为string.Format(),因此它们应该以相同的结果结束。 (link

答案 1 :(得分:0)

已完成基准测试,请check this out

在全球范围内,它类似于string.Format,但可以直接访问变量(而不是通过索引参数),因此您不会发现任何重大差异。

但是如果你正在寻找性能,要连接的字符串的长度将使得在不同的连接方法之间进行选择非常困难。