- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.NET 3.5 新特性之 LINQ(第二章)
.NET 3.5 新特性之 LINQ主讲:JAYCE_ZOUBDQN-凯天培训中心第二章 预备知识对象初始化器C#3.0 提供了一个新特性——对象初始化器(object initializer),它可以创建对象并在同一语句中将其属性初始化。例如,Time1类的默认构造方法: Time1 time = new Time1 ( ); 采用初始化器时就变成: Time1 time = new Time1 { Hour=0, Minute=0, Second=0 };或 Time1 time=new Time1(){Hour=0,Minute=0,Second=0};采用初始化器时,可以结合构造方法来使用。数组初始化器C#3.0 提供了一个新特性——对象初始化器的数组初始化器。数组初始化器允许在按照对象初始化器的语法而初始化对象类型的数组中声明并添加多个元素。例如: Person[] ps=new Person[] { new Person{Name=“张三”,Age=18}, new Person{Name=“李四”,Age=20} }集合初始化器如果集合实现了IEnumable接口,就可以使用集合初始化器来对整个集合初始化。集合初始化器将对集合中的每个元素调用.Add方法,从而把该元素添加到集合中。例如: ListBoy boys = new ListBoy { new Boy { Name = “Tom”, Age = 24 }, new Boy { Name = “Mary” , Age =23 } };隐式类型化局部变量C# 3.0 新特性允许使用 var 关键字声明隐式类型化的局部变量。例如:var person=new Person();这个功能也被称为局部变量类型推断。但是既然让编译器推断类型就必须声明的时候赋值,而且不能是null 值。注意,这只能用于局部变量,用于字段是不可以的。匿名类型匿名类型顾名思义就是没有类的名称,也就是没有类的定义,但是它有类体,可以创建简单类,用于存储数据。例如: var bob = new { Name = “Bob Smith”, Age = 26 }; 声明了一个匿名类对象bob,且其属性Name = “Bob Smith”, Age = 26 。注意这个类没有类名。扩展方法有时需要在现有类里面增加新的功能或方法,但是由于受到一些限制又无法对这些类进行修改。就可以利用类的扩展方法在不必修改类的代码的前提下为现有类增加新的功能。定义扩展方法需要注意,只能在静态类中定义并且是静态方法,如果扩展方法名和原有方法名发生冲突,那么扩展方法将失效。Time类的扩展方法static class TimeExtensions{ public static void DisplayTime ( this Time aTime ){ Console.WriteLine ( aTime.ToString ( ) ); } public static Time AddHours ( this Time aTime, int hours ){ Time newTime = new Time ( ); newTime.Minute = aTime.Minute; newTime.Second = aTime.Second; newTime.Hour = ( aTime.Hours + hours ) % 24; return newTime.; } }扩展方法的例子public static class EMClass{ public ststic int ToInt ( this string s ) { return Int32.Parse ( s ); }} class Program{ static void Main ( string [ ] args ){ string s = “200”; int i = s.ToInt ( ); Console.WriteLine( i ); }}上例代码首先定义了一个静态类EMClass,在类的内部定义了一个静态方法ToInt,注意该方法的定义参数有一个this关键字(扩展方法可以有多个参数,但是只有第一个参数能被this修饰,表示它代表要被扩展的类型,这里是String),该方法实现的逻辑是将字符串转换为整数;接下来在Main方法中生成一个字符串,在此实例对象上调用方法ToInt得到转换后的数字结果“30”并在屏幕上打印显示出来。泛型目前主流的编程语言中,大部分是强类型编程语言,即要求变量或对象必须有自己的类型,不同类型之间的转换还要遵守严格规则。强类型编程语言有助于编写更加安全的程序代码,但是其通用性方面还有
您可能关注的文档
最近下载
- 脑室外引流管护理.pptx VIP
- 【高一】高中心理健康《1生涯拍卖会》 省级优质课.pptx VIP
- 【廉政党课】全面从严治党-抓好党风廉政建设.pptx VIP
- 17GL401 综合管廊热力管道敷设与安装.pptx VIP
- 病原微生物第3章消毒灭菌与病原微生物实验室生物安全习题与答案.docx VIP
- 精益生产、精益工具与精益思想.ppt VIP
- 电子节温器工作原理及电子警察施工安装说明.doc VIP
- 第五讲贯通测量.pdf VIP
- xe82-2000午山风电场风机定检作业指导书一年3月15日部分内容改动.pdf VIP
- 任务一+感受物联网+课件-2025-2026学年陕教版(2024)初中信息科技八年级上册.pptx VIP
文档评论(0)