WPF Lambda
2021-05-14 05:26
标签:方法 nta 应用 表达式树 es2017 基本 round 指定 sharp lambda运算符:所有的lambda表达式都是用新的lambda运算符 " => ",可以叫他,“转到”或者 “成为”。运算符将表达式分为两部分,左边指定输入参数,右边是lambda的主体。 lambda表达式: 1.一个参数:param=>expr 2.多个参数:(param-list)=>expr 上面这些东西,记着,下面我们开始应用并阐述lambda,让你乐在其中。 看啦上面的例子,相信你能看出它确实是个甜枣,呵呵,下面我们来看下(p=>p.Age>6)这样的表达式,到底是怎么回事。。 首先我们看下委托 委托跟表达式的两段代码,我们可以看出一些东东吧:其实表达式(p => p + 10;)中的 p 就代表委托方法中的参数,而表达式符号右边的 p+10,就是委托方法中的返回结果。 大侠绕道,小虾理解下。 下面再上两个稍微复杂点的理解理解。 1.多参数的 2. lambda主体运算复杂 T 是参数类型,这是一个泛型类型的委托,用起来很方便的。 先上例子 说明:我们可以看到,这里的p为int 类型参数, 然而lambda主体返回的是string类型的。 再上一个例子 说明:从这个例子,我们能看到,p为int类型,j为int类型,返回值为bool类型。 看完上面两个例子,相信大家应该明白啦Func 这段代码,放上来,仔细理解下,理解透彻啦,lambda表达式基本上也没什么啦。呵呵。。 算啦,我还是画个图算是结尾吧,以便于理解。 上段代码的lambda表达式树,图。 WPF Lambda 标签:方法 nta 应用 表达式树 es2017 基本 round 指定 sharp 原文地址:http://www.cnblogs.com/callyblog/p/7525142.htmllambda简介
lambda应用阐述
namespace 阐述lambda
{
public class Person
{
public string Name { get; set; }
public int Age { get;set; }
}
class Program
{
public static List
//委托 逛超市
delegate int GuangChaoshi(int a);
static void Main(string[] args)
{
GuangChaoshi gwl = JieZhang;
Console.WriteLine(gwl(10) + ""); //打印20,委托的应用
Console.ReadKey();
}
//结账
public static int JieZhang(int a)
{
return a + 10;
}
//委托 逛超市
delegate int GuangChaoshi(int a);
static void Main(string[] args)
{
// GuangChaoshi gwl = JieZhang;
GuangChaoshi gwl = p => p + 10;
Console.WriteLine(gwl(10) + ""); //打印20,表达式的应用
Console.ReadKey();
}
//委托 逛超市
delegate int GuangChaoshi(int a,int b);
static void Main(string[] args)
{
GuangChaoshi gwl = (p,z) => z-(p + 10);
Console.WriteLine(gwl(10,100) + ""); //打印80,z对应参数b,p对应参数a
Console.ReadKey();
}
///
Func
static void Main(string[] args)
{
Func
static void Main(string[] args)
{
Func
lambda表达式树动态创建方法
static void Main(string[] args)
{
//i*j+w*x
ParameterExpression a = Expression.Parameter(typeof(int),"i"); //创建一个表达式树中的参数,作为一个节点,这里是最下层的节点
ParameterExpression b = Expression.Parameter(typeof(int),"j");
BinaryExpression be = Expression.Multiply(a,b); //这里i*j,生成表达式树中的一个节点,比上面节点高一级
ParameterExpression c = Expression.Parameter(typeof(int), "w");
ParameterExpression d = Expression.Parameter(typeof(int), "x");
BinaryExpression be1 = Expression.Multiply(c, d);
BinaryExpression su = Expression.Add(be,be1); //运算两个中级节点,产生终结点
Expression
上一篇:win10企业版激活
下一篇:rewind()函数