Nie wiem, dlaczego ten kod się nie skompiluje:
var result = $"{fieldName}{isDescending ? " desc" : string.Empty}";
Jeśli podzielę to, działa dobrze:
var desc = isDescending ? " desc" : string.Empty;
var result = $"{fieldName}{desc}";
c#
.net
ternary-operator
string-interpolation
c#-6.0
Nate Barbettini
źródło
źródło
Odpowiedzi:
Zgodnie z dokumentacją :
Problem polega na tym, że dwukropek służy do oznaczania formatowania, na przykład:
Rozwiązaniem jest zawarcie warunku w nawiasie:
źródło
Console.WriteLine($"Cargo Weight: {(ship.WeightAvailable ? $"{ship.Weight:0.00}" : "n/a")}");