如何在Visual Studio Express 2013中启用C# 7.0本地函数功能?
关于在Visual Studio Express 2013中启用C# 7本地函数的问题
很遗憾地告诉你,Visual Studio Express 2013 原生并不支持 C# 7.0 的本地函数功能。原因很简单:C# 7.0 是和 Visual Studio 2017 一同发布的新特性,VS2013 搭载的旧版编译器(Roslyn全面普及前的版本)根本无法识别这类新语法。
下面给你几个可行的解决思路:
升级到支持的Visual Studio版本(最推荐)
如果你需要使用C# 7+的特性,建议升级到 Visual Studio 2017 及以上的社区版——这个版本是免费的,功能完全能满足个人开发者的需求,和Express版本定位类似,但原生支持C# 7到最新的C#版本特性,包括本地函数、元组解构等。用委托/匿名方法模拟本地函数(临时替代方案)
如果暂时没法升级IDE,可以用Func或Action委托来模拟本地函数的逻辑封装效果。举个例子:
原本的C# 7本地函数写法:public int CalculateTotal(int baseNum) { // 本地函数 int AddTax(int num) => num + (int)(num * 0.1); return AddTax(baseNum); }可以改成VS2013兼容的写法:
public int CalculateTotal(int baseNum) { Func<int, int> addTax = num => num + (int)(num * 0.1); return addTax(baseNum); }虽然没有本地函数那么直观简洁,但能实现类似的局部逻辑封装效果。
尝试手动集成新版编译器(不推荐)
理论上可以手动安装新版Roslyn编译器到项目中,通过修改项目文件配置来调用新编译器编译代码,但这种方式非常繁琐,而且VS2013的IDE会因为无法识别新语法而持续标红,也没法正常调试,性价比极低,所以不建议尝试。
内容的提问来源于stack exchange,提问作者user9116565
相关产品推荐
相关产品推荐

