我尝试在一个内插的字符串中使用条件运算符,但是因为它有一个冒号,编译器认为在冒号之后是一个格式化的字符串。
$"test {foo ? "foo is true" : "foo is false"}";
我如何使用这种类型的语句? 我脑子里唯一想到的就是这样的东西:
var fooString = foo ? "foo is true" : "foo is false"; $"test {fooString}";
$"test {(foo ? "foo is true" : "foo is false")}";
括号内的代码返回一个变量,这是花括号内唯一允许的内容。冒号’:’是字符串插值中的一个特殊字符,因此需要用括号括起来。
您需要将字符串放在 {}内的圆括号中,因此: {(1 == 1 ? "yes" : "no")}。
{}
{(1 == 1 ? "yes" : "no")}