c# Linq语法学习

让数据傻瓜化,LINQ 提供了一种统一的语法来查询和操作不同类型的数据,如集合、数据库、XML 文档等。以下详细介绍其作用:

1.统一一的数据查询语法

2. 提高代码可读性和可维护性

3. 延迟执行和流式处理

4. 数据转换和投影

5. 简化数据操作

LINQ基本用法

手写一个where方法

第二种方式

使用var变量接收,省事情,和JavaScript差不多但是区别在于

var i=5; 这时候i就会被自动推断为int类型

此时就不能在 i='111',赋值为其他类型了,会报错

这时候可以用c#的弱类型变量dynamic

Linq常用方法

设置好一个对象

where、count、Any

where:遍历数组,可以加上过滤条件

count:查询满足条件的数量

Any:查询是否有一条数据满足

Single和SingleOrDefault

Single:这些数据中,根据条件返回唯一满足条件的一个数据,如果有多条满足,或者一条都不满足就报错

SingleOrDefault:根据条件返回唯一满足条件的一个数据,如果有多条满足,就报错,如果一条都不满足就返回默认值,引用数据类型为null,数字类型为0

First和FirstOrDefault

First:查找并返回数据中第一个满足条件的数据,如果一条都不满足则报错。

FirstOrDefault:查找并返回数据中第一个满足条件的数据,如果一条则返回默认值。

OrderBy和OrderByDescending

正序和倒序排序

链式调用,做两次排序

限制结果集Skip和Take

Skip(2)跳过两条数据,Take(10)取从开始到第10条数据,如果没有则能取多少取多少,可以单独使用,也可以一起使用

Max、Min、Average

最大值,最小值,平均值

GrupBy

把相同条件的对象放入一个大数组中,里面的每个item,就是一个存放相同条件的数组

这是打印的结果

Select映射

将满足条件的值映射到新的数组中

也可以把数组中的数据取出来映射到另一个对象里去

利用select把数组中每一项的Name和Age映射到另一个对象里

匿名类型对象,必须用var声明,然后new的时候不需要添加对象名称,就只要后面加一个对象即可

用匿名类型进行映射也是一样的

ToList和ToArray

Linq方法返回的是IEnumerable,而ToList和ToArray可以把IEnumerable转换为List和Array

案例

案例1

起先是list列表然后变成这样的,GrupBy后面排序就用OrderBy利用Key排序,然后取前三个数组,把数组的数据,年龄,数组里的对象数,以及平均工资,映射到一个新的匿名对象里

[

[{ Id = 4, Name = "lucy", Age = 28, Gender = false, Salary = 2000 },{ Id = 4, Name = "lucy", Age = 28, Gender = false, Salary = 2000 }],

[{ Id = 4, Name = "lucy", Age = 28, Gender = false, Salary = 2000 },{ Id = 4, Name = "lucy", Age = 28, Gender = false, Salary = 2000 }]

]

案例2

案例3

求字符串中数字的平均值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值