Saya bingung mengapa kode ini tidak dapat dikompilasi:
var result = $"{fieldName}{isDescending ? " desc" : string.Empty}";
Jika saya membaginya, itu berfungsi dengan baik:
var desc = isDescending ? " desc" : string.Empty;
var result = $"{fieldName}{desc}";
c#
.net
ternary-operator
string-interpolation
c#-6.0
Nate Barbettini
sumber
sumber
Jawaban:
Menurut dokumentasi :
Masalahnya adalah bahwa titik dua digunakan untuk menunjukkan format, seperti:
Solusinya adalah dengan membungkus kondisi dalam tanda kurung:
sumber
Console.WriteLine($"Cargo Weight: {(ship.WeightAvailable ? $"{ship.Weight:0.00}" : "n/a")}");