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

时间:2018-12-09 10:14:56

标签: c# string interpolation compiler-bug

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

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

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

对于此问题,您不能使用?,:之类的东西,因为要使用它们,您必须设置准确地将您的条件放入()中,例如:

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

答案 2 :(得分:1)

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

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

$ - string interpolation