J'ai essayé d'utiliser l'opérateur conditionnel à l'intérieur d'une chaîne interpolée, mais parce qu'il contient deux points, le compilateur pense qu'après les deux points vient une chaîne de format.
$"test {foo ? "foo is true" : "foo is false"}";
Comment puis-je utiliser ce type de déclaration? La seule chose qui me vient à l'esprit est quelque chose comme ceci:
var fooString = foo ? "foo is true" : "foo is false";
$"test {fooString}";
Vous devez mettre la chaîne entre parenthèses dans {}
, Donc: {(1 == 1 ? "yes" : "no")}
.
$"test {(foo ? "foo is true" : "foo is false")}";
Le code entre parenthèses renvoie une variable, et c'est la seule chose autorisée à l'intérieur des accolades. Le signe deux-points ':' est un caractère spécial dans l'interpolation de chaîne, il doit donc être mis entre parenthèses.