基础【匿名】------(匿名类型和匿名函数)
匿名类:
(1) 有了前面对象初始化器的介绍,我们可以使用new{object initializer}或者new[]{object,…}来初始化一个匿名类或者不确定类型的数组,匿名类的对象需要使用var关键字声明;
(2) 应用场景,当直接使用select new{object initializer}这样的语法就是将一个Linq查询的结果返回到一个匿名类中;
(3)将一组只读属性封装到单个对象中,而无需首先显示定义一个类型,类型名由编译器生成,并且不能在源代码级使用,每个属性的类型由编译器推断;
(4)用来初始化属性的表达式不能是null,匿名函数和指针类型。
var Kencery=new{ID=1,Name=”HYL”,Age=24}
匿名函数;
(1)匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用。可以使用匿名函数来初始化命名委托,或传递命名委托(而不是命名委托类型)作为方法参数。
1 public delegate int AddDelegate(int i ,int j); 2 3 AddDelegate del=delegate(int i,int j) 4 5 { 6 7 return i+j; 8 9 };
注意:方法体以“delegate”关键字打头,其后是参数列表,紧接着在一对大括号内书写方法代码,最后以分号“;”结束。使用匿名函数定义的委托变量与普通委托变量使用方法是一样的。