C#:插值内的三元表达式无效

时间:2017-09-04 17:59:44

标签: c# mono interpolation

我想在插值中插入三元表达式,如下所示:

var a = $"we have {true ? "a":"b"}";

编译中使用的软件:

XBuild Engine Version 14.0
Mono, Version 5.2.0.215

我使用xbuild Cmc.sln(Cmc是我的解决方案名称)。之后我得到错误(第44行是上面给出的C#代码):

Expr/Expression.cs(44,13): error CS8076: Missing close delimiter '}' for interpolated expression started with '{'.
Expr/Expression.cs(44,25): error CS1003: Syntax error, ':' expected
Expr/Expression.cs(44,25): error CS1733: Expected expression
Expr/Expression.cs(44,27): error CS1002: ; expected
Expr/Expression.cs(44,28): error CS1002: ; expected

为什么我会这样?我认为我的代码是有效的。

1 个答案:

答案 0 :(得分:1)

尝试:

$"we have {(true ? "a":"b")}";