在C#中Lambda表达式

Lambda在C#中可以说是灵活的语法糖,用来表示匿名方法或委托。


在快捷查询中比较常用

LINQ(Language Intergrated Query)

首先我们声明一个泛型数组和两个类,用来更好的展示用处

List<int> numbers = new List<int> {1,2,3,4,5,6,7,8,9,10 };

public class Student

{

​	public int Id;

​	public string Name;

}

public class Grade

{

​	public int StudentId;

​	public int Score;

}

1.筛选

Where属于LINQ语句,用于定义查询逻辑的

var even = numbers.Where(x => x % 2 == 0); // var:未知,当我们不知道返回类型的时候可以用var,它可以自动识别类型

简便写法:

var evenNumber = from num in numbers	//from	代表for循环

​				   where num % 2 == 0 	 //where      代表筛选

​			           select num;			  //select       代表选择

利用了from where select 关键字,相当于把三套业务逻辑整理在了一起,适用于复杂的查询

Console.WriteLine($"list中的偶数有:{string.Join(",", eveNumber)}");


2.排序

使用某个键按升序排序OrderBy

语法:对象.OrderBy();

用法:numbers.OrderBy( x => x);


3.过滤

使用OfType过滤出指定类型的元素

语法:对象.OfType<>();

用法:numbers.OfType<int>();


4.投影

Select投影数据,将每个元素转换为另一种形式

语法:对象.Select();

用法:numbers.Select( x => x * 2);


5.聚合操作符

Count显示数量

语法:对象.Count();

用法:numbers.Count();

//计算总和,最小值,最大值,平均值

numbers.Sum(); //总和

numbers.Min();  //最小值

numbers.Max(); //最大值

numbers.Average(); 平均值


6.转换

ToList() 将查询结果转换成想要的List<T>

语法:对象.ToList();

用法:numbers.Where(x => x > 5).ToList(); //将numbers中大于5的数据转换为List类型

ToArray()将查询结果转换成Array

语法:对象.ToArray();

用法:numbers.Where(x => x > 5).ToArray();//将numbers中大于5的数据转换为List类型


总结:

Where:代表条件过滤

OrderBy:按升序排列

OfType:过滤出指定类型的元素

Select:投影数据,将每个元素转换为另一种形式

Count:显示元素的数量

ToList:转换成想要的List

ToArray:转换成Array

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值