委托是什么?匿名方法是什么?在C# 3.0中,Lambda表达式是什么?扩展方法是什么?LINQ是什么?您觉得C# 3.0中还有哪些重要的特性,它们带来了什么优势?BCL中哪些类库和这些特性有关?您平时最常用哪些
委托是什么:
MSND:委托是一种引用方法的类型,太抽象了这定义,看不懂
我的理解是:委托就是对于一组方法的抽象,代表一组方法的共同特征。
匿名方法是什么?
匿名方法是指将一段代码块作为委托参数传递给另外一个方法中。
匿名方法能访问方法中的变量和类中的成员。
使用匿名方法,则不必创建当独的方法,因此减少了实例化委托所需的编码开销。
lamdba表达式是什么?
“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式树类型。
所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。 该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。 Lambda 表达式 x => x * x 读作“x goes to x times x”。可以将此表达式分配给委托类型,如下所示:
delegate int del(int i); static void Main(string[] args) { del myDelegate = x => x * x; int j = myDelegate(5); //j = 25 }
扩展方法是什么?
扩展方法是使我们能在现有类型的基础上添加新方法,而无需创建派生类、重新编译或以其他方式修改原始类型。
LINQ是什么?