C#3.0特性总结

C#3.0特性总结

ID:38060024

大小:47.50 KB

页数:6页

时间:2019-05-24

C#3.0特性总结_第1页
C#3.0特性总结_第2页
C#3.0特性总结_第3页
C#3.0特性总结_第4页
C#3.0特性总结_第5页
资源描述:

《C#3.0特性总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一.C#3.0语言主要增强点•隐含类型局部变量•扩展方法•对象与集合初始化器•匿名类型•Lambda表达式•查询表达式(LINQ)•表达式树 二.隐含类型局部变量先来看看例句:vari=5;varh=23.56;vars=“CSharp";varintArr=new[]{1,2,3,4};vara=new[]{1,10,100,1000};"var"这个关键字是不是很眼熟,javascript中经常用到(互相学习现在比较常见了),当然C#中var和javascript的var差别还是比较大。1.var只能作为局部变量使用;就是说var只能定义在一个方法里面,或者foreach,for,usi

2、ng等语句里面:publicclassVarTest{     privatevoidtest()     {         vari=0;     } } 2.var可以申明任何类型变量,可以根据后面的初始化语句自动推断类型;这个和object有点像,但var是强类型,根据初始化表达式来定义变量的类型;vari=0;i是int类型varstr="test";str是string类型3.var定义时,必须使用表达式初始化;也就是必须定义成vari=0;没有初始化编译会报错,而且初始化值不能为null,编译器无法根据null来推断出局部变量的类型;初始值除了int,string等数据类型外,

3、还可以使用new一个对象作为初始值(从网上大家发表的看法,var使用最多的就是配合一个匿名类型的对象来使用,以及在Linq中使用)//下面是网上某个网友写得博客,拷贝修改了一下!配合匿名类型使用:             var a = new{ Name = "maotin" ,Age = 99};            Console.WriteLine(a.Name);            Console.WriteLine(a.Age);                在linq中应用:  int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0

4、 };var queryLowNums =    from num in numbers    where num < 5    select num;foreach (var s in queryLowNums) {     Console.Write(s.ToString() + " "); }4.var使用建议一般var不要像“vari=9;”这样使用,程序可读性不高;在匿名类型中使用比较方便;foreach中使用也不错;var只是语言层面的东西,编译器会在编译的时候通过类型推断把它换成真正的类型三.扩展方法)扩展方法定义如下:  publicstaticclassExtensions

5、{        publicstaticvoidFoo(thisstrings){                …        } }使用:        Strings=“Hello,World”;        s.Foo();        我们以前会对一些参数、对象进行某些处理,而写一些独立方法来封装这些处理语句;这些方法为了方便重用,可能会写在一些公共类里供大家调用,例如:定义一个公共方法计算每天有多少分钟,publicclassPublicCenter{        //传入参数为天数        publiclongGetDaysMin(intpDays)      

6、  {               returnpDays*24*60;       }}外部使用调用:intdays=3;PublicCenterpCenter=newPublicCenter();intminutes=pCenter.GetDaysMin(days);        看看用扩展方法来处理会是怎么样;定义一个静态类的静态方法计算每天有多少分钟(注意必须是静态)publicstatic classPublicCenter{        //传入参数为天数(注意this关键字必不可少)        publicstatic longGetDaysMin(thisintpDa

7、ys)        {               returnpDays*24*60;       }}外部使用调用:(注意静态类必须同在一个命名空间,或添加引用,这个大家应该也知道的(啰嗦))intdays=3;//当我们在所以int类型的变量后按下".",就会智能提示出这些自己写的扩展方法GetDaysMin()。intminutes=days.GetDaysMin()        可以看出扩展方法

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。