此新功能使字符串连接更易读。该语法将被编译为其等效String.Format调用。
没有字符串插值:
String.Format("Hello, {0}", name)
使用字符串插值:
$"Hello, {name}"
这两行是等效的,并且都被编译为对的调用String.Format。
与中的一样String.Format,方括号可以包含任何单个表达式(方法,属性的调用,空合并运算符等)。
首选使用String Interpolation,String.Format因为它可以防止发生某些运行时错误。考虑以下String.Format行:
String.Format("The number of people is {0}/{1}", numPeople)
这将进行编译,但会导致运行时错误,因为编译器不会检查参数数量是否与占位符匹配。