在新的C#6.0中,我们可以使用lambda表达式定义方法和属性.
例如这个属性
public string Name { get { return First + " " + Last; } }
Run Code Online (Sandbox Code Playgroud)
现在可以定义如下:
public string Name => First + " " + Last;
Run Code Online (Sandbox Code Playgroud)
有关表达式函数成员的信息,请访问:http://blogs.msdn.com/b/csharpfaq/archive/2014/11/20/new-features-in-c-6.aspx
有没有人知道使用新语法时是否有任何开销?它可以减慢(或提高效率)应用程序,或者它可能没关系?
我已经在我现在的公司工作了六个多月,我们目前正在使用Visual Studio 2012.我们将开始构建一个新的应用程序,我一直在努力获得Visual Studio 2015升级的承诺我们可以从最新技术开始.不幸的是,这是一家小公司,需要考虑预算.
有谁知道Visual Studio 2012是否支持C#6.0.我在想,因为它即将成为第三代旧版本,它可能无法获得支持.
更新:
我看到很多与VS2015社区版相关的评论,所以我想我会澄清我公司对该版本的立场.该公司拥有大约20名员工和6人IT团队,他们出于各种原因都需要VS. 我们还有超过100万美元的销售额,因此我们无法获得社区版.
更新2:
问:C#6.0中是否有一些特定的功能你不能没有?
答:虽然属性初始化器和主要构造器将减少代码中的大量箔条,但没有任何特定功能.
我从Internet获得了一个包含以下代码行的代码
protected override Freezable CreateInstanceCore() => new ExponentialDoubleAnimation();
Run Code Online (Sandbox Code Playgroud)
我没有在visual studio中安装这个版本的C#.所以这显示错误"失踪;".任何人都可以告诉我这行代码中c#5及以下的类似代码是什么?