C#:插值内的三元表达式无效
C#: ternary expressions inside interpolation are invalid
我想在插值中插入一个三元表达式,像这样:
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
为什么我会得到这个?我认为我的代码是有效的。
尝试:
$"we have {(true ? "a":"b")}";
我想在插值中插入一个三元表达式,像这样:
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
为什么我会得到这个?我认为我的代码是有效的。
尝试:
$"we have {(true ? "a":"b")}";