C#中的字符串插值内的字符串插值导致编译器错误
String Interpolation inside String Interpolation in C# results in compiler error
以下 C# 表达式导致我的程序出现编译错误:
$"Getting image from {location.IsLatitudeLongitude ? $"{location.Latitude} - {location.Longitude}" : location.Location}."
不应该这样使用字符串插值吗?还是根本不可能这样做?
我刚刚测试了这个。正如我评论的那样,三元运算符需要大括号:
$"Getting image from {(location.IsLatitudeLongitude ? $"{location.Latitude} - {location.Longitude}" : location.Location)}."
根据documentation,在字符串插值中使用三元运算符时需要使用以下格式。
The structure of an interpolated string is as follows:
$ "{ <interpolation-expression> <optional-comma-field-width> <optional-colon-format> }"
因此您需要在 { 之后和结束 } 之前添加一组括号,如下所示:
$"Getting image from {(location.IsLatitudeLongitude ? $"{location.Latitude} - {location.Longitude}" : location.Location)}."
以下 C# 表达式导致我的程序出现编译错误:
$"Getting image from {location.IsLatitudeLongitude ? $"{location.Latitude} - {location.Longitude}" : location.Location}."
不应该这样使用字符串插值吗?还是根本不可能这样做?
我刚刚测试了这个。正如我评论的那样,三元运算符需要大括号:
$"Getting image from {(location.IsLatitudeLongitude ? $"{location.Latitude} - {location.Longitude}" : location.Location)}."
根据documentation,在字符串插值中使用三元运算符时需要使用以下格式。
The structure of an interpolated string is as follows:
$ "{ <interpolation-expression> <optional-comma-field-width> <optional-colon-format> }"
因此您需要在 { 之后和结束 } 之前添加一组括号,如下所示:
$"Getting image from {(location.IsLatitudeLongitude ? $"{location.Latitude} - {location.Longitude}" : location.Location)}."