C# 6.0可能的新特性及C#发展历程[转]

年10月份发布了,对应的是.Net Franework 4.5.1。

或者3年,更新增加的东西会比较多,所以对于C# 6.0,还是有一些期待的。

下面这张图列出了C#每次重要更新的时间及增加的新特性,对于了解C#这些年的发展历程,对C#的认识更加全面,是有帮助的。其中图的最后一行C#6.0是根据一些博客整理的,如有错误,随时改正。

 

C# 6.0可能的新特性

、using静态类(Static type using statements;)

using会把引用类的所有静态方法导入到当前命名空间

Before

public
double A { get { return Math.Sqrt(Math.Round(5.142)); } }

After

using System.Math;

...

public
double A { get { return Sqrt(Round(5.142)); } }

、Property Expressions

Before

public
double Distance {

get { return Math.Sqrt((X * X) + (Y * Y)); }

}

After

public
double Distance => Math.Sqrt((X * X) + (Y * Y));

 初看起来像Lambda表达式,其实和Lambda无关系。

5. Method Expressions

Before

public Point Move(int dx, int dy) {

return
new Point(X + dx1, Y + dy1);

}

After

public Point Move(int dx, int dy) => new Point(X + dx, Y + dy);

这个和Property Expressions类似

、Params for enumerables

Before

Do(someEnum.ToArray());

...

public
void Do(params
int[] values) { ... }

After

Do(someEnum);

public
void Do(params IEnumerable<Point> points) { ... }

 以前params是只可以修饰array类型的参数,现在多了一些类型

04-30 07:26