【问题标题】:C# 6 in Visual Studio 2015 - langversion 'experimental' is not supportedVisual Studio 2015 中的 C# 6 - 不支持 langversion 'experimental'
【发布时间】:2015-03-15 17:07:56
【问题描述】:

MSDN 上的以下博客文章说,我们必须将 langversion 设置为“实验性”才能使 C# 6 工作:http://blogs.msdn.com/b/csharpfaq/archive/2014/06/03/visual-studio-14-ctp-now-available.aspx

但是在使用 Visual Studio 2015 时,我收到以下错误:

“实验”选项无效。

这是一个错误吗?

【问题讨论】:

  • VS 2015 还没有正式发布,所以事情总是有可能发生一些变化。我建议您将ctp 标签添加到您的问题中,以免给未来的读者造成混淆(VS 2015 发布时)。
  • 顺便说一句。上次我玩的是 VS 2015 预发布版,不需要打开任何实验性开关;最新的实验性语言功能开箱即用。
  • Beta 版来得又快又猛,你读到的任何东西都很快过时了。得出的基本结论是,您现在拥有一个不再是“实验性”的 CTP 版本。
  • 第三个注意事项,与您所说的相反,您链接到的帖子不是来自 MSDN,而是来自其他博客。

标签: c# visual-studio-2015 c#-6.0


【解决方案1】:

Visual Studio 2015 附带 C# 6.0。您不需要任何额外的设置,这在旧版本中是正确的。

您还应该注意无参数结构构造函数didn't make it to C# 6.0

这可以通过a TryRoslyn example(在最新版本的 Roslyn 上运行)看到。

这个结构:

public struct Point
{
    public int x;
    public int y;

    public Point()
    {
        this.x = 0;
        this.y = 0;
    }

    public Point(int x, int y)
    {
        this.x = x;
        this.y = y;
    }
}

给出这个警告:

错误 CS0568:结构不能包含显式无参数构造函数

【讨论】:

  • 我试过使用 ?。安全导航操作员。编译器似乎也无法识别它。
  • @IlyaSuzdalnitski 你有什么版本?哪个 CTP?
  • Visual C# 2015 预览版; VS 14.0.22310.1 DP
  • 根据VS 2015预览功能visualstudio.com/news/vs2015-preview-vs#ManLang完整版应该支持C# 6.0...我也安装了VS 2013,可能在某些方面存在冲突。
  • 事实证明,我得到的安全导航运算符的语法全错了!我正在使用 str ? str.Length 而不是 str ?。长度。
猜你喜欢
  • 2017-02-09
  • 2015-08-08
  • 2017-03-12
  • 2016-06-05
  • 2018-06-02
  • 2017-07-09
  • 1970-01-01
  • 1970-01-01
  • 2015-10-17
相关资源
最近更新 更多