当前位置: 首页 > 知识库问答 >
问题:

C#中字符串内插导致编译器错误[重复]

秦奇
2023-03-14

下面的C#表达式导致我的程序中出现编译器错误:

$"Getting image from {location.IsLatitudeLongitude ? $"{location.Latitude} - {location.Longitude}" : location.Location}."

不应该可以像那样使用字符串插值吗?还是根本不可能做到这一点?

共有2个答案

杜成和
2023-03-14

我刚刚测试了这个。正如我所评论的,您需要为帐篷操作员提供支架:

$"Getting image from {(location.IsLatitudeLongitude ? $"{location.Latitude} - {location.Longitude}" : location.Location)}."
薄鸿远
2023-03-14

根据文档,在字符串插值中使用三元运算符时,需要使用以下格式

插值字符串的结构如下:

$ "{ <interpolation-expression> <optional-comma-field-width> <optional-colon-format> }"

因此,您需要在 { 之后和结束 } 之前添加一组括号,如下所示:

$"Getting image from {(location.IsLatitudeLongitude ? $"{location.Latitude} - {location.Longitude}" : location.Location)}."
 类似资料:
  • 以下代码: 给出编译器错误: 此行有多个标记-类型列表中的方法add(capture#1-of?extends String)不适用于参数(String)-方法add(capture#1-of?)类型列表中的不适用于参数(字符串) 是什么导致了这个错误?我应该不能添加Strings或它的子类型,因为我正在类型参数中扩展String吗?

  • 我已经开始为一个个人项目学习JavaFX,事情进展顺利,直到我遇到了创建一组文本字段的问题。据我所知,代码是正确的,我使用的IDE没有给出任何错误指示。但当我尝试运行程序时,它会抛出一长串错误,这些错误在我注释创建文本字段的代码时不会发生。当这些代码行被省略时,程序将完全按照它应该的方式运行。 我正在使用InteliJ Idea,Windows 10,Javafx SDK 14.0.1和Java

  • 我在编译顺序时遇到编译器错误。java文件,即使它包含另一个打包类的导入语句。我不完全确定为什么会发生这种情况,但这是一个目录树,其中包含一些文件: > com/my/domain/Order.java 这个文件里面有下面的包和导入: com/my/utils/MyDate。此文件中包含以下包和导入: 编译顺序时出现编译器错误。java: 我仍然不知道如何解决这个问题后,试图从评论。这里有一些更多

  • 问题内容: 对于这两个进口; 我收到此错误: 如何解决此错误? 问题答案: 该错误是由您的Eclipse配置引起的。您可以将其减少为警告。更好的是,使用不属于非公共API的Base64编码器。Apache Commons有一个,或者当您已经使用Java 1.8时,请使用。

  • 我不明白为什么会出现这些编译错误: 1: 类型列表中的add(capture#1-of?extends Exec.Bird)方法不适用于参数(Exec.Sparrow) 2: 方法添加(捕获#2-of?扩展Exec.Bird)类型列表中的参数(Exec.鸟)

  • 我有以下代码: 我希望它输出“0,1,2,3”并停止,但它输出的是一系列无穷无尽的“0、1、2、3、4、5……” 看起来比较< code>di 如果我只是注释掉< code >,delta=mc[di],我会正常得到“0,1,2,3”。无辜作业有什么问题? 我正在使用Ideone.com g14带-O2选项。