我对为什么这段代码无法编译感到困惑:
var result = $"{fieldName}{isDescending ? " desc" : string.Empty}";
如果我把它分开,它工作正常:
var desc = isDescending ? " desc" : string.Empty;
var result = $"{fieldName}{desc}";
内插字符串的结构如下: {
问题是冒号用于表示格式,例如:
Console.WriteLine($"The current hour is {hours:hh}")
解决方案是将条件括在括号中:
var result = $"Descending {(isDescending ? "yes" : "no")}";
Console.WriteLine($"Cargo Weight: {(ship.WeightAvailable ? $"{ship.Weight:0.00}" : "n/a")}");
bool WeighAvailable
和double Weight
公共属性/属性的Ship
类)。