第一:绑定运算符,:=:

这个只是简化了数据绑定,跟ASP.NET MVC3不断改进一样,其实不是什么亮点改进。

comboBox1.Text :=: textBox1.Text; //将文本框的内容绑定到下拉框。

第二:带参数的泛型构造函数:

这个的加入给一些设计增加了强大功能,泛型早在C#2.0加入后就有着强大的应用,一般稍微设计比较好的框架,都会用到泛型,C#5.0加入带参数泛型构造函数,则在原有基础上对C#泛型完善了很多。:)

public class T MyClass : T: class, new()
public class T MyClass : T:class, new(int)

第三:支持null类型运算:

此功能,个人觉得并非什么大的亮点,但至少对null类型,特别是有数据计算的这种null类型的支持,写代码还是方便不少。

注意对于Nullable Types,在C#2.0就加入进来了,但是不支持计算,比如:

int? x = null;

int? y = x + 40;

那么y值是多少?不支持计算,得到的是null,想必大家知道为什么结果是null了吧?但C#5.0可以,40加一个null的整数,我们要的结果是40,不过份吧?

int x? = null;
int y? = x + 40;
Myobject obj = null;
Myotherobj obj2 = obj.MyProperty ??? new Myotherobj();

第四:case支持表达式:

这个是一个我很早就想如果能这样就好了,没想到在C#5.0里就加入此功能,以前case里只能写一个具体的常量,而现在可以加表达式了,灵活多了。

switch(myobj){
llorEmpty(myotherobj):
//逻辑代码
case myotherobj.Trim().Lower:
//逻辑代码
}

第五:扩展属性。

我们在C#3.0里有扩展方法,那么在C#5.0里将会加入扩展属性的感念,对照扩展方法,不难理解扩展属性的概念了。以下为扩展属性的定义举例:

[Associate(string)]

public static int Zivsoft_ExtensionProperty { get;set;}

C#5.0 远远不只是上面描述的5点新功能,它如同C#4.0加入dynamic概念一样,会加入异步处理概念,这个不是几行代码就能表达,而是将在设计,架构上,又会掀起一次飞跃……

为了大家抢先看,就给一段C#5.0一段简单的异步操作的代码例子,注意(C#5.0两个新加的关键字async, await):

Task<Movie> GetMovieAsync(string title);Task PlayMovieAsync(Movie movie);async void GetAndPlayMoviesAsync(string[] titles)
{foreach (var title in titles){var movie = await GetMovieAsync(title);await PlayMovieAsync(movie);}
}

C# 5.0五大新特性相关推荐

  1. 怎么真正入行Web前端行业?JavaScript五大新特性是什么?

    怎么真正入行Web前端行业?JS五大新特性是什么?JavaScript是Web开发者必学的三种语言之一,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言.随着互联网的更迭以及技术的革新,Jav ...

  2. php7的核心开发者,php7 五大新特性

    2. 函數返回值類型聲明 官方文檔提供的例子(注意 - 的邊長參數語法在 PHP 5.6 以上的版本中才有): functionarraysSum(array...$arrays):array { r ...

  3. Java EE 8的五大新特性详解

    Java EE 8的五大新特性详解 2018.4.3 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载. Java EE 8带来了很多新特性,其中最好的新特性有下面五个. 备受期待的Ja ...

  4. .NET 4.0 Interop新特性ICustomQueryInterface (转载)

    .NET 4.0 Interop新特性ICustomQueryInterface 在.NET Framework v4.0发布的新功能中,在名字空间System.Runtime.InteropServ ...

  5. .NET Framework 4.0的新特性

    本文将揭示.NET 4.0中的3个新特性:图表控件.SEO支持以及ASP.NET 4可扩展的输出缓存. 图表控件 微软向开发者提供了大量可免费下载的图表控件,可以在.NET 3.5 ASP.NET或W ...

  6. mysql 5.0 php_PHP 5.0的新特性

    PHP 5.0的新特性 最近,读者可以从PHP 4.x版本转移到PHP 5.0版本.正如读者期望的那样,在一个新的主要版本中,它做出了一些重要变更.在这个版本中,PHP后台的Zend引擎经过了完全的重 ...

  7. Tensorflow 2.0的新特性

    Tensorflow 2.0的新特性 几天前,Tensorflow刚度过自己的3岁生日,作为当前最受欢迎的机器学习框架,Tensorflow在这个宝座上已经盘踞了近三年.无论是成熟的Keras,还是风 ...

  8. java 7.0 特性_JDK7.0语法新特性

    JDK7.0语法新特性 1,菱形语法(泛型实例化类型自动推断) List list = new ArrayList<>(); // <>这个真的很像菱形 2,在目前版本中,不可 ...

  9. 盘点Greenplum 6.0六大新特性及展望

    导读:本文介绍Greenplum 6.0的新特性. 作者:王春波 来源:大数据DT(ID:hzdashuju) Greenplum 6.0于2019年9月4日正式发布,内核版本从PostgreSQL ...

最新文章

  1. 个性二维码开源专题液化/圆角/效果
  2. Pandas to_json() 中文乱码,转化为json数组
  3. Python学习笔记:多线程和多进程(转1)
  4. 微信公众号开发之微信服务器配置
  5. 什么是python 包_什么是python
  6. C++socket编程(三):3.4 listen监听
  7. 深度之眼 alexnet_AlexNet带给了深度学习的世界
  8. python继电器控制
  9. TypeError: Object of type xxx is not JSON serializable错误解决
  10. 电脑两个,电脑有两个系统盘怎么办
  11. 如何查看电脑的上一次开机时间
  12. curl 错误:unable to verify the first certificate 解决办法
  13. Involution 详解与维度推导
  14. C++的灵魂核心-类
  15. 中国航班杂志中国航班杂志社中国航班编辑部2022年第18期目录
  16. ubuntu创建新账号在登录界面找不到相应的帐号
  17. 互联网业务数据分析- 数据分析基础
  18. 思维导图MindMaster 安装
  19. 十六、Vert.x、Actix-web、Warp、Axum 性能对比
  20. 华为OpenEuler体验系列(13)-截图工具

热门文章

  1. 微信小程序云开发路由模块真机调试报错
  2. 华为A1路由器虚拟服务器,华为a1路由器怎么设置DHCP服务器功能
  3. 经典C语言程序设计100例,部分有个人注解
  4. 模式识别笔记(一)概论、贝叶斯决策(参数估计、非参数估计)
  5. Linux系统 PDF转图片
  6. 中国软考2006年各地报名方式和咨询地址
  7. 搭建SVN服务端及创建SVN账号
  8. python apache benchmark_Python cudnn.benchmark方法代码示例
  9. WLAN射频和信道--总结记录
  10. Windows Azure系列-- Azure Table的CRUD操作