【问题标题】:Multi line conditional operator in string interpolation in C# fails [duplicate]C#中字符串插值中的多行条件运算符失败[重复]
【发布时间】:2018-01-08 01:36:41
【问题描述】:
var condition = false;
Foo($"String is {(condition ? "True" : "False")} works");

但是

Foo($"String is {(condition ? "True" 
                            : "False")} fails");

当我在字符串插值语句中很好地格式化条件运算符时出现编译错误?

【问题讨论】:

  • 使用逐字字符串.... Foo($@"String is {(condition ? "True" : "False")}fails");
  • 感谢您的回复,但我使用 $@ 阅读了“解决方案”,这很奇怪,因为条件运算符已经需要用括号分隔,因此不应将其内容解释为不再使用格式说明符;使用 $@ 也无法使用格式文字,如 \t ...

标签: c# conditional-operator string-interpolation


【解决方案1】:

使用@

Foo($@"String is {(condition ? "True" 
                            : "False")} fails");

【讨论】:

  • 但是我怎样才能使用像 \t 这样的字符串文字呢?
  • 你不能。你必须选择一个\t@
猜你喜欢
  • 2016-02-02
  • 2020-10-06
  • 2015-02-14
  • 2014-08-09
  • 1970-01-01
  • 2020-11-22
  • 2013-06-29
  • 2016-10-12
  • 2021-04-22
相关资源
最近更新 更多