基础【匿名】------(匿名类型和匿名函数)

匿名类:

(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”关键字打头,其后是参数列表,紧接着在一对大括号内书写方法代码,最后以分号“;”结束。使用匿名函数定义的委托变量与普通委托变量使用方法是一样的。

 

posted @ 2013-11-29 15:01  行进  阅读(215)  评论(0编辑  收藏  举报