Ich bin verwirrt, warum dieser Code nicht kompiliert werden kann:
var result = $"{fieldName}{isDescending ? " desc" : string.Empty}";
Wenn ich es aufteile, funktioniert es gut:
var desc = isDescending ? " desc" : string.Empty;
var result = $"{fieldName}{desc}";
c#
.net
ternary-operator
string-interpolation
c#-6.0
Nate Barbettini
quelle
quelle
Antworten:
Laut Dokumentation :
Das Problem ist, dass der Doppelpunkt verwendet wird, um die Formatierung zu kennzeichnen, wie zum Beispiel:
Die Lösung ist zu wickeln die bedingte in Klammern:
quelle
Console.WriteLine($"Cargo Weight: {(ship.WeightAvailable ? $"{ship.Weight:0.00}" : "n/a")}");