内联变量声明生成失败

Inline Variable Declaration Failing to Build

提问人:Dominick 提问时间:8/12/2020 更新时间:8/12/2020 访问量:211

问:

在我接手的一个项目中,有这样的扩展方法:

public static DateTime? TryParseDateTime(this string val)
{
    DateTime date;
    return DateTime.TryParse(val, out date) ? date : (DateTime?)null;
}

就我个人而言,我喜欢尽可能使用内联变量声明,因此我将此方法更新为:

public static DateTime? TryParseDateTime(this string val)
{
    return DateTime.TryParse(val, out DateTime date) ? date : (DateTime?)null;
}

此项目位于 VS 2017 中,“错误”列表未显示任何错误,但项目无法生成。当我检查输出窗口时,我看到此方法中发生错误,并显示以下消息:

2>C:...\Extensions.cs(35,56,35,60):错误 CS1003:语法错误,“,”预期

我不清楚这个错误指的是什么,因为这个错误只有在我实际尝试构建时才会出现。我还尝试清理解决方案并重建,但错误仍然存在。如果能深入了解其中的原因,将不胜感激。

谢谢

c#

评论

5赞 UnholySheep 8/12/2020
您是否将项目设置中的语言版本设置为 C#7.0 或更高版本?
1赞 insane_developer 8/12/2020
当然,这种语法不是向后兼容的。不过,这是一个微不足道的变化,不会产生任何影响。
0赞 Dominick 8/12/2020
@UnholySheep我将其设置为“C# 最新主要版本(默认)”,如果展开下拉列表,它会显示我最多有 C#7.3。

答: 暂无答案