扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
第一:绑定运算符,:=:
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都做网站、金安网络推广、成都小程序开发、金安网络营销、金安企业策划、金安品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联公司为所有大学生创业者提供金安建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com这个只是简化了数据绑定,跟ASP.NET MVC3不断改进一样,其实不是什么亮点改进。
[csharp] view plain copy
comboBox1.Text :=: textBox1.Text; //将文本框的内容绑定到下拉框。
第二:带参数的泛型构造函数:
这个的加入给一些设计增加了强大功能,泛型早在C#2.0加入后就有着强大的应用,一般稍微设计比较好的框架,都会用到泛型,C#5.0加入带参数泛型构造函数,则在原有基础上对C#泛型完善了很多。:)
[csharp] view plain copy
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,不过份吧?
[csharp] view plain copy
int x? = null;
int y? = x + 40;
Myobject obj = null;
Myotherobj obj2 = obj.MyProperty ??? new Myotherobj();
第四:case支持表达式:
这个是一个我很早就想如果能这样就好了,没想到在C#5.0里就加入此功能,以前case里只能写一个具体的常量,而现在可以加表达式了,灵活多了。
[csharp] view plain copy
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):
[csharp] view plain copy
Task
Task PlayMovieAsync(Movie movie);
async void GetAndPlayMoviesAsync(string[] titles)
{
foreach (var title in titles)
{
var movie = await GetMovieAsync(title);
await PlayMovieAsync(movie);
}
}
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流