自动属性、隐式类型var、初始化器、隐式类型、扩展方法 委托、匿名方法、lambda表达式、内置委托

隐式类型 var 一 般是 配合 匿名类型来用的 。
 
ef 会用到的 查询 linq查询linq查询的时候,大量用到匿名类型
 
问:为什么定义类?
答:完成对数据的封装。
 
这些类从哪来,不是凭空出现。是和数据库的表对应的 。
a.对于必须值,用构造方法完成初始化
b.对于非必须值,使用初始化器。
 
 
集合初始化器中 嵌套着对象初始化器
 
 
当类型 只使用一次的时候:我们可以使用匿名类型。
 
就是个简化形式。匿名类型是个语法糖。
因为类型只使用一次,我们不需要专门的声明一个类型。
在使用的时候,写这个类型就行了。
 
有一个问题:
这个类型没有名字,那么如何声明一个变量,指向这个类型的对象?
答:使用var
 
虽然我们写的时候,匿名类型是没有名字的
但是在编译的时候,这个类型是实实在在存在的
 
匿名类型的使用,借助了隐式类型var初始化器
 
匿名类型,可以定义数据成员、定义不了函数成员
 
匿名类型帮助我们进行 数据的快速封装。
 
代码实现

 

 

4.扩展方法

扩展方法的定义:为一个类无侵入式的扩展一个新的方法。
 
 
后面我们会大量使用到扩展方法。
 
 
代码实现:
 

 

 

 5. 委托

委托是个类型。 和 class 一个级别的
 
数据的类型:类和接口。
方法的类型:委托。
 
lambda表达式的本质:是一种 对 匿名方法的简写。
 
lambda 表达式的作用: 完成 对委托的赋值
 
lambda 也是一种语法糖 。
 
有了委托之后,我们可以将方法,作为方法的参数进行传递。
linq查询,这个用的非常多。
 
代码实现:
 

 

原文地址:https://www.cnblogs.com/bingyizhihun/p/14726165.html