Je ne comprends pas pourquoi ce code ne compile pas:
var result = $"{fieldName}{isDescending ? " desc" : string.Empty}";
Si je le sépare, cela fonctionne bien:
var desc = isDescending ? " desc" : string.Empty;
var result = $"{fieldName}{desc}";
Selon le documentation :
La structure d'une chaîne interpolée est la suivante:
{ <interpolationExpression>[,<alignment>][:<formatString>] }
Le problème est que les deux points sont utilisés pour indiquer le formatage, comme:
Console.WriteLine($"The current hour is {hours:hh}")
La solution consiste à encapsuler le conditionnel entre parenthèses:
var result = $"Descending {(isDescending ? "yes" : "no")}";