Lambda函数

简介

符号 =>,读作 goes to
作用 直接使用=>查询,代替foreach或for循环
Lambda表达式是一种匿名函数,Lambda 用在基于方法的 LINQ 查询中,作为诸如 Where 和 Where 等标准查询运算符方法的参数

简单举例

  1. 返回classcode为1001的list 或1001号学生
 List<Student> list1001=StudentList.where
 		(t=>t.ClassCode='1001').ToList();
 Student student1001=StudentList.where
 		(t=>t.StudentCode='1001')//也可以用var 定义返回类型
  1. 返回classcode为1001的list,排序
//从小到大
 var list1001=StudentList.where(t=>t.ClassCode='1001').OrderBy(t=>t.BirthDay)//OrderByDescending(t=>t.BirthDay)从大到小排列
  1. 表内联合查询
var list1001=StudentList.Where(t=>(t.ClassCode=="1001"&&t.StudentName.StartWith(“John"))
   	.OrderBy(t=>t.BirthDay);
  1. 跨表联合查询
var list1001=StudentList.Where(t=>(t.ClassCode=="1001"&&(scoreList.Exists(p=>p.ScoreValue<60 	
   	&&p.StudentCode==t.studentCode)));

用lambda表达式简化委托

delegate int LambdaTest(int a, int b);
static void Main(string[] args)
        {
            var total = (double)16.2;
            Console.WriteLine($"Declared Type: {total.GetType().Name},Value:{total}");
            Func<int, int, int> Add = (x, y) => x + y;//匿名函数,Func<int 参数1,int 参数2, int 返回值>
            Console.WriteLine(Add(2, 3));
            LambdaTest lt = (p, z) => z - (p + 10);//委托函数
            Console.WriteLine(lt(20, 90));
            Func<string> ZeroP = () => "0个参数";//0个参数用法
            Console.WriteLine(ZeroP());
            Func<int,string> OneP = x => string.Format("1个参数:{0}",x);//1个参数用法,可以省略括号
            Console.WriteLine(OneP(5));
            Func<int, int, int> TwoP = (x, y) => x + y;//两个参数用法
            Console.WriteLine(TwoP (2, 3));
            Func<int, string> MarkP = x => { x++; return string.Format("1个参数:{0}", x); };//1个参数用法,两行语句要有{ }和 return; Func<int 参数,string 返回值>
            Console.WriteLine(OneP(5));
            Console.ReadKey();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fwsylin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值