C# —— 常用的lambada表达式 以及lambda表达式和数组结合使用

常用的lambada表达式

一: 首先先定义一个实体类 里面定义学生的姓名等

二 创建两个数组一个用来放姓氏 另一个用来放名字

string[] xings = { "张", "王", "李", "赵", "刘", "尹", "关" };
string[] names = { "狗蛋", "钢弹", "鸭蛋", "鸡蛋", "蛋蛋", "牛蛋", "洋蛋", "公明", "飞", "唯", "备" };

三: 常用的lambada表达式

 1 创建十个学生保存在list里面 

 2 查询班级为1001下所有的学生信息

               where 查询满足条件下的所有的元素 t是list的对象
               ToList() 强制转换成lsit

2 查询班级编号为1001并且把查询出来的结果按照年龄由小到大进行排序

            OrderBy 排序 (t => t.Age 根据age进行排序)
            OrderByDescending 由大到小


3 查询班级编号为1001班级并且姓名以李的开头 根据年龄进行排序

List<Student> s4 = (list.Where(t => t.ClassCode == "1001" && t.StudentName.StartsWith("李")).OrderBy(t => t.Age)).ToList();
for(int i = 0; i < s4.Count; i++)
{
    Console.WriteLine(s4[i].StudentName + "," + s4[i].StudentCode + "," + s4[i].Age);
}

4 对所有的学生年龄计算总和
            sum 求和的,参数是lambda表达式对应字段

Console.WriteLine(list.Sum(t => t.Age));

5 计算1001班学生的年龄总和

Console.WriteLine(s2.Sum(t => t.Age));

 6 求1001班最大的学生的年龄是多少

Console.WriteLine(s2.Max(t => t.Age));

7 求1001班学生的平均值

Console.WriteLine(s2.Average(t => t.Age));

 8 求1001班所有学生姓名中包含屎的学生
            EndsWith("蛋") 以蛋结尾
            Contains 包含

List<Student> s5 = s2.FindAll(t => t.StudentName.Contains("屎"));
for(int i = 0; i < s5.Count; i++)
{
    Console.WriteLine(s5[i].StudentName);
}

9 返回满足条件个数 10个学生年龄为20的学生个数

Console.WriteLine(s2.Count(t => t.Age == 20));

10 返回第一个满足条件的实体对象 不存在返回null

Student aa = s2.FirstOrDefault(t => t.Age == 20);
if(aa != null)
{
    Console.WriteLine(aa.Age); // 如果没有满足条件 返回为null ,null不具备Age属性,报错
}

lambda表达式和数组结合使用 

/List泛型集合常用的lambda表达式的地方
            List<int> list = new List<int>(); // 放几个人的年龄
            list.Add(9);
            list.Add(8);
            list.Add(20);

1 ForEach 遍历函数 x就是每一个元素
            list.ForEach(x => Console.WriteLine(x));

2 RemoveAll 移除满足条件的所有的元素,参数lambda表达式
                   //list.RemoveAll(x => x % 2 == 0);
            Console.WriteLine(list.Count);//0

3 Any任何一个元素满足条件即可
            Console.WriteLine(list.Any(x => x % 2 == 0));

4 All 每一个元素都得必须满足条件
            Console.WriteLine(list.All(x => x % 2 == 0));

5 Exists 是否存在满足条件的元素
            Console.WriteLine(list.Exists(x => x % 3 == 0));

6 FindLast 找到满足条件的最后一个元素
            Console.WriteLine(list.FindLast(x => x % 2 == 0)); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值