首页 > 编程知识 正文

lambda表达式底层原理,拉姆达是什么意思

时间:2023-05-04 22:55:44 阅读:38689 作者:1375

一、Lamabda表达式定义

Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式是基于数学中的运算命名的,直接对应于其中的Lambda抽象(lambda abstraction ),是匿名函数,即没有函数名称的函数。

Lambda表达式表示闭包,首先出现C#3.0,并且还支持新版本的语言,如JavaScript、Java8和Pathton。

匿名函数详细信息: https://blog.csdn.net/u 011127019/article/details/113714566

二、Lamabda表达式语法

与C#,JavaScript的语法相同:=用符号声明

参数列表=语句或语句块Java/C的语法相同。 -用符号声明

参数列表-语句或语句块Pathon中:用符号声明

三、C# 中Lamabda使用场景

1 .拉姆达式和委托

publicdelegatevoidnoticeall (字符串名称; staticvoidlambdatest((//拉姆达公式和委托noticeallnotice1=) {{name1}} )=) console.writeline($ '济南通知,(name1) ); (; notice1=(name2) ) console.writeline($ '聊城通知【{name2}】); (; //触发请求的多播链通告1 (“热灯泡”); //拉姆达式回调getsum (10,20,res={ Console.WriteLine ('计算结果: ' res ) ); ); }staticvoidgetsum(intnum1,int num2,Actionint onSuccess ) { int result=num1 num2; if(onsuccess!=null on success (result ); )2.拉姆达公式和Linq

staticvoidlambdatest2((//拉姆达表达式和linqint ) nums=newint ) ) 10、1、3、5、-2); int max=nums.Max (; ListStudent list=new ListStudent () new Student ) ({ID=1,Name='热心灯泡',Score=100 },new Student ) ({ID=2,nanane ) id=1的学生student studen1=list.where (q=q.score==1).FirstOrDefault ); //最高得分decimalmaxscore=list.max (q=q.score ) public class student { public intid { get; set; 公共字符串name { get; set; 公共医学刻痕{ get; set; }3.拉姆达式树Expression

//表达式ExpressionFuncStudent,bool lambda1=q=q.Score 60; ExpressionFuncStudent,bool lambda2=q=q.ID 1; //合并表达式binaryexpressiontemp=expression.and (lambda 1,lambda2); ExpressionFuncStudent,bool lambda3=expression.lambdafuncstudent,bool(temp; //执行仪式student student2=list.where (lambda3.com pile () ).FirstOrDefault );四、JavaScript 表达式使用

nodejs支持,新版本的浏览器也支持。

函数getsum (num 1,num2,onSuccess ) { var result=num1 num2; 在onsuccess(result ); //回调函数,匿名getsum (20,30,res={ console.info ) )计算结果: ' res ); );

其他:

C#委托、事件、回调说明C#匿名函数_C#匿名函数使用整理C#匿名对象_C#匿名类型_C#匿名对象使用整理

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。