为什么我不能在字符串内使用三元运算符?

8 浏览
0 Comments

为什么我不能在字符串内使用三元运算符?

我试图写成这样:

$"这是{ awesomeEnough ? "很棒" : "不太棒"}"

但是我得到了一个编译器错误:

CS1003 语法错误,期望':'

这是期望的行为还是一个错误?

0
0 Comments

在C#中,为什么不能在字符串中使用三元操作符?这是因为运算符优先级的问题。可以通过使用括号解决这个问题。例如:$"This is { (awesomeEnough ? "awesome" : "not awesome") }"。这是一个很好的解决方法。

造成这个问题的原因并不是运算符的优先级,而是冒号被解释为格式说明符的分隔符。

0