C# - 为啥我不能在字符串中使用三元运算符? [复制]
Posted
技术标签:
【中文标题】C# - 为啥我不能在字符串中使用三元运算符? [复制]【英文标题】:C# - Why can't I use ternary operation inside string? [duplicate]C# - 为什么我不能在字符串中使用三元运算符? [复制] 【发布时间】:2017-09-06 18:43:33 【问题描述】:我正在努力写作
$"This is awesomeEnough ? "awesome" : "not awesome""
但我收到编译器错误
CS1003 语法错误,应为“:”
是预期的行为还是错误?
【问题讨论】:
:
将表达式与插值字符串中的格式分隔开来,因此您必须通过将表达式放在括号 $"This is (awesomeEnough ? "awesome" : "not awesome")"
内来强制它不认为它是分隔符
【参考方案1】:
操作员优先级。括号应该可以解决问题
$"This is (awesomeEnough ? "awesome" : "not awesome") "
【讨论】:
正要说这个,好解决! 原因不是运算符优先级 - 只是冒号被解释为格式说明符的分隔符以上是关于C# - 为啥我不能在字符串中使用三元运算符? [复制]的主要内容,如果未能解决你的问题,请参考以下文章