Estoy confundido sobre por qué este código no se compilará:
var result = $"{fieldName}{isDescending ? " desc" : string.Empty}";
Si lo divido, funciona bien:
var desc = isDescending ? " desc" : string.Empty;
var result = $"{fieldName}{desc}";
c#
.net
ternary-operator
string-interpolation
c#-6.0
Nate Barbettini
fuente
fuente
Respuestas:
De acuerdo con la documentación :
El problema es que los dos puntos se usan para denotar el formato, como:
La solución es envolver el condicional entre paréntesis:
fuente
Console.WriteLine($"Cargo Weight: {(ship.WeightAvailable ? $"{ship.Weight:0.00}" : "n/a")}");