zoukankan      html  css  js  c++  java
  • C# 5.0五大新特性

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

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

    [csharp] view plain copy
     
    1. comboBox1.Text :=: textBox1.Text; //将文本框的内容绑定到下拉框。  

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

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

    [csharp] view plain copy
     
    1. public class T MyClass : T: class, new()  
    2. 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,不过份吧?

    [csharp] view plain copy
     
    1. int x? = null;  
    2. int y? = x + 40;  
    3. Myobject obj = null;  
    4. Myotherobj obj2 = obj.MyProperty ??? new Myotherobj();  

    第四:case支持表达式:

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

    [csharp] view plain copy
     
    1. switch(myobj){  
    2. llorEmpty(myotherobj):  
    3. //逻辑代码  
    4. case myotherobj.Trim().Lower:  
    5. //逻辑代码  
    6. }  

    第五:扩展属性。

    我们在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):

    [csharp] view plain copy
     
    1. Task<Movie> GetMovieAsync(string title);  
    2.   
    3. Task PlayMovieAsync(Movie movie);  
    4.   
    5. async void GetAndPlayMoviesAsync(string[] titles)  
    6. {  
    7.     foreach (var title in titles)  
    8.      {  
    9.          var movie = await GetMovieAsync(title);  
    10.           
    11.          await PlayMovieAsync(movie);  
    12.      }  
    13. }  
  • 相关阅读:
    Photoshop制作倒影的两种方法
    用CSS正确显示人民币符号的HTML转义字符
    CSS水平居中/垂直居中的N个方法
    有利于SEO的DIV+CSS的命名规则
    引用视频全屏播放代码
    分享:PHP获取MAC地址的实现代码
    设置nginx禁止通过IP访问服务器的方法
    php文件上传的例子
    apache开启gzip的方法
    perl命令批量替换文件内容
  • 原文地址:https://www.cnblogs.com/giftmm/p/9340143.html
Copyright © 2011-2022 走看看