我试图写成这样:
$"这是{ awesomeEnough ? "很棒" : "不太棒"}"
但是我得到了一个编译器错误:
CS1003 语法错误,期望':'
这是期望的行为还是一个错误?
在C#中,为什么不能在字符串中使用三元操作符?这是因为运算符优先级的问题。可以通过使用括号解决这个问题。例如:$"This is { (awesomeEnough ? "awesome" : "not awesome") }"。这是一个很好的解决方法。
$"This is { (awesomeEnough ? "awesome" : "not awesome") }"
造成这个问题的原因并不是运算符的优先级,而是冒号被解释为格式说明符的分隔符。
用户名或邮箱地址
密码