C#学习笔记一:委托、匿名函数、Lambda 表达式
2014-01-12 22:14
691 查看
委托的概念:
当一个函数被声明为委托的时候,它可以作为参数被传递。
方法(参数1,参数2,委托)
AddFunc(int a, int b, delegate)
匿名函数:
是一个“内联”语句或表达式,可在需要委托类型的任何地方使用。 可以使用匿名函数来初始化命名委托,或传递命名委托(而不是命名委托类型)作为方法参数。
包括匿名方法和Lambda 表达式
匿名方法
Lambda 表达式
所有 Lambda 表达式都使用 Lambda 运算符 =>。 该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。
Lambda 在基于方法的 LINQ 查询中用作标准查询运算符方法(如 Where)的参数。
(input parameters) => expression
只有在 Lambda 有一个输入参数时,括号才是可选的;否则括号是必需的。
两个或更多输入参数由括在括号中的逗号分隔,使用空括号指定零个输入参数。
如:
(int x, string s) => s.Length > x
当一个函数被声明为委托的时候,它可以作为参数被传递。
方法(参数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
相关文章推荐
- [深入学习C#]匿名函数、委托和Lambda表达式
- [C#学习教程-委托]001.大道至简之委托(代理),匿名函数,Lambda表达式
- C# Lambda表达式学习笔记
- C#特性 学习笔记(Lambda表达式 迭代)
- 委托、匿名函数、Lambda表达式和事件的学习
- C#学习笔记 - Lambda表达式
- 学习笔记之在 LINQ 外部使用 Lambda 表达式(C# 编程指南)
- C#学习笔记二:并行编程基础:在 PLINQ 和 TPL 中的 Lambda 表达式
- 黑马程序员之C#学习笔记: Lambda表达式学习总结
- 学习笔记之Lambda 表达式(C# 编程指南)
- C# in Depth Third Edition 学习笔记-- Lambda表达式和表达式树
- 第八章(3)-委托的匿名方法与Lambda表达式-学习笔记
- 【转】【UNITY3D 游戏开发之七】C# 中的委托、事件、匿名函数、Lambda 表达式
- 【转】【UNITY3D 游戏开发之七】C# 中的委托、事件、匿名函数、Lambda 表达式
- 【转】【UNITY3D 游戏开发之七】C# 中的委托、事件、匿名函数、Lambda 表达式
- 大马哈鱼的C#学习笔记(1):lambda表达式
- 学习笔记之在查询中使用 Lambda 表达式(C# 编程指南)
- 委托,事件,回调,匿名函数与Lambda表达式详解
- 学习笔记:C#执行字符串表达式