我被告知Visual Studio 2012不支持C#6.0,而且要编译C#6.0代码,我需要升级到更新版本的Visual Studio。
但是,当我粘贴C#6.0代码时,Resharper会问我是否要启用C#6.0支持。如果我允许,我就可以编译C#6.0代码。
List<string> customers = null;
string Customer;
int? length = customers?.Count;
Customer = customers?[0];
它似乎有效,但任何人都可以解释它是如何工作的?
如果我进入项目的属性/构建/高级......语言版本&#39;设置为默认&#39;。如果我检查下拉列表,我只能看到C#5.0。
答案 0 :(得分:1)
根据this answer,如果您拥有&#39; Microsoft.Net.Compilers&#39;它可以在VS 2012中运行。您的项目中安装了NuGet包。
答案 1 :(得分:0)
我最好的猜测是你正在使用ReSharper构建引擎(ReSharper - &gt;选项 - &gt;工具 - &gt;构建,请参阅构建引擎)