CSharp——Lambda 表达式
1、定义:
a、Lambda 表达式是一个匿名表达式。
b、可以包含表达式和语句
c、可用于创建委托或表达式目录树类型
d、语法:Input params => Expression or Code Block. (左边是数据参数,右边是表达式或语句块。)
Eg:
//多个参数 (x, y) => x == y //No params (int x, string s) => s.Length > x //无参数,注:只有一个参数时才能省略掉括号:x => x*x () => SomeMethod() //语句块。 注:语句块中使用了大括号。 (input parameters) => {statement;}
注:Lambda 语句同匿名方法一样无法用于创建表达式目录树。
2、简单用途
a、委托中使用(Lambda表达式)
delegate int del(int i); del myDelegate = x => x * x; int j = myDelegate(5); //j = 25
b、委托未使用(Lambda表达式)
delegate int del(int i); del myDelegate = delegate(int i) {i*i }; //匿名方法 int j = myDelegate(5); //j = 25
c、创建表达式目录树类型:
using System.Linq.Expressions; // ... Expression<del> = x => x * x;