建设官网网站,辽宁建设工程信息网解锁需要什么资料,关键词推广效果,电商培训班一般学多久在QCon纽约2016大会上#xff0c;C#项目经理Mads Torgersen介绍了即将到来的C# 7。他还简单地阐述了C#的演化过程#xff0c;并展示了部分正在开发的未来版本特性。 近年来#xff0c;云和分布式系统的出现使开发人员面临着新的挑战。开发人员需要进步#xff0c;语言也要随… 在QCon纽约2016大会上C#项目经理Mads Torgersen介绍了即将到来的C# 7。他还简单地阐述了C#的演化过程并展示了部分正在开发的未来版本特性。 近年来云和分布式系统的出现使开发人员面临着新的挑战。开发人员需要进步语言也要随之进步。像C#这样一门多用途语言其演化需要平衡不同的方面 改善 vs 保持简单改善现有开发 vs 吸引新用户采用新范式 vs 忠于C#的OOP精神 近年来.Net整体上也经历了重大的变化 支持Windows、Mac OS和Linux.Net Core部署系统编译成本地代码.NET Native开源编译器和公共Roslyn API多编辑器选择由OmniSharp和Roslyn促成开源框架、编辑器和工具 C# 7 C# 7将随Visual Studio 15交付后者目前是以预览版的形式提供。为了加快新语言特性的推出速度他们正在讨论点版本发布。这样语言特性会包含在小版本中。此举的目的在于一旦新特性开发完成早期采用者就可以选择激活各种新特性。 C# 7将包含元组。从一个方法返回多个值变得更简单 static (int sum, int count) Method()
{return (0, 0)
}
// 调用方法并使用结果
var result Method();
Console.WriteLine($Sum:{result.sum}.Count: {result.count}.); 元组还可以用在泛型类型中。元组是值类型也就是说它们是在栈上分配内存而不是堆上。这可能会提高性能比如减少关键代码路径中的垃圾收集开销。 // 异步方法返回元组
static async Task(int sum, int count) Method()// Dictionary使用元组作为键
var dict new Dictionary(string first, string last), person(); 部分模式匹配特性的删减招致了模式匹配特性将整体删除的传言。C# 7还会包含模式匹配特性未来版本还会进行增强。 C# 7后续版本特性 有多项特性目前正在开发之中将会包含在C#的下一个版本中。为了提供一种简单的方式处理某些场景更多的模式匹配语义也正在探索之中 // 使用C# 7模式匹配
if (O is Point p p.X 5) { WriteLine($Y: {p.Y})}// 使用未来版本的替代语法处理相同的场景
if (o is Point X {var x, Y: var y} x 5) { WriteLine($Y: {y})}if (o is Point { X : 5, Y: var y}) { WriteLine($Y: {y})}if (o is Point(5, var y)) { WriteLine($Y: {y})} 可空引用类型的实现正在进行当中。当前的思路是当编译器检测到null值的不合理使用时就发出警告 string? n;
string s;n null; // 好的可空
s null; // 警告不应该为空
s n; // 警告WriteLine(s.Length); // 一定不为空
WriteLine(n.Length) // 警告可能为空 不可变值类型Record是另一项正在开发中的特性。不可变让并发环境数据分享更安全让程序更容易推断。Record类型提供了一种在C#中使用不可变性的简洁方式。Record有默认值语义就是说提供了开箱即用的getter、GetHashCode、equality成员实现。 原文地址http://www.infoq.com/cn/news/2016/06/csharp-mads-torgersen-qcon .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注