我很困惑为什么这段代码不能编译:
var result = $"{fieldName}{isDescending ? " desc" : string.Empty}";
如果我把它分开,它可以正常工作:
var desc = isDescending ? " desc" : string.Empty;
var result = $"{fieldName}{desc}";
我很困惑为什么这段代码不能编译:
var result = $"{fieldName}{isDescending ? " desc" : string.Empty}";
如果我把它分开,它可以正常工作:
var desc = isDescending ? " desc" : string.Empty;
var result = $"{fieldName}{desc}";
当前回答
根据文档:
插值字符串的结构如下所示: {<interpolationExpression>[,<align >][:<formatString>]}
问题是冒号是用来表示格式的,比如:
Console.WriteLine($"The current hour is {hours:hh}")
解决方法是用括号括起条件句:
var result = $"Descending {(isDescending ? "yes" : "no")}";
其他回答
根据文档:
插值字符串的结构如下所示: {<interpolationExpression>[,<align >][:<formatString>]}
问题是冒号是用来表示格式的,比如:
Console.WriteLine($"The current hour is {hours:hh}")
解决方法是用括号括起条件句:
var result = $"Descending {(isDescending ? "yes" : "no")}";