欢迎来到天天文库
浏览记录
ID:5377537
大小:192.61 KB
页数:3页
时间:2017-12-08
《匿名类型(var)、初始化器、扩展方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、邓有权学习笔记:其他2011-9-1一.自动属性publicclassStudent{publicintId{get;set;}publicstringName{get;set;}publicintAge{get;set;}}自动属性可以避免原来这样我们手工声明一个私有成员变量以及编写get/set逻辑,快速写一个类。通过反编译可以看出:生成IL的时候,会自动生成私有字段存储相应数据。二.匿名类型var为关键字,可以根据后面的初始化语句自动推断类型,这个类型为强类型。一旦初始化之后,编译器给其自动生成一个”名字很奇怪”的类,以后只
2、可以存储这种类型。var声明的仅限于局部变量,不可用于字段。亦可以用于for,foreach,using等语句中。数组也可以作为隐含类型。初始化语句不能是一个自身的对象或者集合初始化器,但是他可以是包含一个对象或者初始化器的一个new表达式。如果局部变量声明包含了多个声明符,其类型必须相同。匿名类型var不能设置值,只能读取。初始化语句必须为表达式,不可以为空。且必须保证编译时可以推断类型。varx;//错误vary=null;//错误varz={1,2,3};//错误可以使用new关键字调用匿名初始化器创建一个匿名类型的对象。v
3、arp1=new{Id=1,Name="YJingLee",Age=22};//属性也不需要申明varintArray=new[]{2,3,5,6};匿名类型直接继承自System.Object。三.对象与集合初始化器对象初始化器Studentstu=newStudent(){Id=1,Name="YJingLee",Age=22};更方便给对象赋值,提高编程速度。集合初始化器Listnum=newList(){0,1,2,6,7,8,9};Liststus=newList第
4、1页共1页Createbydonny邓有权{newStudent{Id=1,Name="YJingLee",Age=22},newStudent{Id=2,Name="XieQing",Age=25},};四.扩展方法-Linq中用的很多更多参考http://www.cnblogs.com/ldp615/archive/2009/08/07/1541404.html扩展方法的方法名前有向下的箭头。扩展方法使用可以调用啦扩展方法练习:第2页共2页Createbydonny邓有权第3页共3页Createbydonny
此文档下载收益归作者所有