如何在字符串文字中使用字符串插值?

问题描述:

我试图做类似如何在字符串文字中使用字符串插值?

string heading = $"Weight in {imperial?"lbs":"kg"}" 

这是可行不知何故?

您应该添加()由于字符串可以包含使用:格式:

string heading = $"Weight in {(imperial ? "lbs" : "kg")}"; 
+0

真奇怪。仍然有效。非常感谢! – Volker

插值字符串可以包含格式它从变量名用冒号分隔定义。

string formatted = $"{foo:c5}"; // 5 decimal places 

由于条件运算符(?:)也使用一个冒号,你必须使用括号,以明确的,你不想要的格式说明符编译器:

string heading = $"Weight in {(imperial?"lbs":"kg")}"; 
+1

正确的解释,+1 –

+0

现在我明白了。谢谢! – Volker