【问题标题】:I am getting an error when using the Null-conditional Operator: Syntax error, ':' expected使用 Null 条件运算符时出现错误:语法错误,预期为 ':'
【发布时间】:2016-06-27 16:43:54
【问题描述】:

我正在尝试检查 null,但我不明白显示的错误。我的语法正确,但 Visual Studio 不允许我编译。

 if (customer?.Company?.Products != null)

这些是编译器显示给我的错误。

错误 259 无效的表达式术语 '.'
错误 260 语法错误,预期为“:”
错误 261 无效的表达式术语 '.'
错误 262 语法错误,预期为“:”
错误 263 无效的表达式项 ')'
错误 264 ;预计
错误 265 ;预计

我现在明白这是自 Visual Studio 2015 以来检查空值的一种更新的更短的方法。

【问题讨论】:

  • 我不想要冒号。我只想检查是否有任何对象为空。
  • 哦……猫王接线员在那里!!!

标签: c#


【解决方案1】:

此语法是 C# 6.0 和 Roslyn 的新语法。

您不能将它与旧版本的编译器一起使用。

【讨论】:

  • 我需要获取哪个版本?
  • 您需要使用版本 6 的 编译器。这包含在 VS 2015 中。
  • 哦,我正在使用 Visual Studio 2013!我需要升级。谢谢!
  • 当你在VS2013中打开一个VS2015项目时的那种感觉,需要这样的错误才能实现。 #Facepalm。
  • @SLaks 这有点晚了,但我正在使用带有 Update 3 的 VS 2015 Enterprise,但我仍然遇到同样的错误。知道为什么吗?
【解决方案2】:

Null-conditional Operators 应该类似于以下方式编写:

if (customer?.Company?.Products != null)

【讨论】:

  • 好的,抱歉我把它弄反了。我正在修复它。
  • 检查另一个答案然后@Semaphore
猜你喜欢
  • 1970-01-01
  • 2021-02-26
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-26
相关资源
最近更新 更多