【问题标题】: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")}" 内来强制它不认为它是分隔符

标签: c# string formatting ternary-operator c#-6.0


【解决方案1】:

操作员优先级。括号应该可以解决问题

$"This is { (awesomeEnough ? "awesome" : "not awesome") }"

【讨论】:

  • 正要说这个,好解决!
  • 原因不是运算符优先级 - 只是冒号被解释为格式说明符的分隔符
猜你喜欢
  • 2018-03-16
  • 2014-11-29
  • 2011-09-24
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 2016-05-15
  • 2016-12-30
  • 2013-07-30
相关资源
最近更新 更多