C#学习笔记一:委托、匿名函数、Lambda 表达式

委托的概念:

当一个函数被声明为委托的时候,它可以作为参数被传递。

方法(参数1,参数2,委托)

AddFunc(int a, int b, delegate)

匿名函数:

是一个“内联”语句或表达式,可在需要委托类型的任何地方使用。 可以使用匿名函数来初始化命名委托,或传递命名委托(而不是命名委托类型)作为方法参数。

包括匿名方法和Lambda 表达式

匿名方法

Printer p = delegate(string j)
{
  System.Console.WriteLine(j); };

Lambda 表达式

所有 Lambda 表达式都使用 Lambda 运算符 =>。 该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。
Lambda 在基于方法的 LINQ 查询中用作标准查询运算符方法(如 Where)的参数。

(input parameters) => expression
只有在 Lambda 有一个输入参数时,括号才是可选的;否则括号是必需的。

两个或更多输入参数由括在括号中的逗号分隔,使用空括号指定零个输入参数。

如:

(int x, string s) => s.Length > x

原文地址:https://www.cnblogs.com/sherlock99/p/3516622.html