字符串插值:C# 编译器中的错误?

String interpolation: a bug in c# compiler?

string Test(bool @bool) => $"you're {@bool?"hired":"fired"} Have a nice day!";

以上代码导致编译错误。 但为什么? 请注意 string test = $"this {"is"} working"; 有效。

冒号结束插值。只需括号条件:

string Test(bool @bool) => $"you're {(@bool ? "hired":"fired")} Have a nice day!";

对于这个问题,您不能使用 ?,: 之类的东西,要使用这些,您必须准确设置您的条件应该放在 () 中,例如:

string Test(bool @bool) => $"you're {(@bool ? "hired":"fired")} Have a nice day!";

您可以尝试使用 () 包含您的 ?: 运算符

string Test(bool @bool) => $"you're {(@bool ? "hired":"fired")} Have a nice day!";

$ - string interpolation