如何通过【.NET基础】Linq常用语法代码实现高效数据处理?

2026-04-11 06:591阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1110个文字,预计阅读时间需要5分钟。

如何通过【.NET基础】Linq常用语法代码实现高效数据处理?

前言:前言不是很重要,下面是LINQ入门常用的语法,LINQ语法可以用来写操作集合、数据库表集合等几乎所有集合类型的操作。

下面是一些案例(以List集合来做的):

1. 查询列表中所有大于5的元素:csharpList numbers=new List { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };var result=numbers.Where(n=> n > 5);foreach (var item in result){ Console.WriteLine(item);}运行结果:

67

89

10

2. 查询列表中所有小于5的元素:

csharpvar result=numbers.Where(n=> n <5);foreach (var item in result){ Console.WriteLine(item);}运行结果:

12

34

3. 查询列表中所有偶数元素:csharpvar result=numbers.Where(n=> n % 2==0);foreach (var item in result){ Console.WriteLine(item);}运行结果:

24

68

10

4. 查询列表中所有奇数元素:

csharpvar result=numbers.Where(n=> n % 2 !=0);foreach (var item in result){ Console.WriteLine(item);}运行结果:

13

79

5. 查询列表中所有元素的总和:csharpvar result=numbers.Sum();Console.WriteLine(result);运行结果:

55

前言:前言不重要,linq入门常用的语法,linq语法可以用来写操作集合、数据库表集合等等几乎所有集合类型的操作。下面就写几个案例(以List集合来做的),看代码和运行结果即可。

本文演示环境:VS2022 + .NET 6

1、创建一个.NET 6.0的控制台项目,用来演示测试和输出。

2、然后新增两个实体类,用于后续做测试使用,包括关联查询等。

3、初始化一丢丢数据,当做测试的原始数据。

4、先运行下,看下当前数据集合的结果集是怎么样的。此处以Json格式展示,以下其他输出也一样,都是用Json数据输出,比较好对比。

5、先玩一下最简单的lambda表达式的查询方法,以下只是最基本的操作,还有很多别的扩展使用方法,待自己发现。

6、lambda表达式的操作方法,也可以对查询结果字段进行起别名。

7、有一个很好用的判断集合是否存在数据的,直接使用 Any。 Any里面也可以写lambda表达式,例如 xxx.Any(x=>x.Id==2) ,如果结果为True,代表集合里面存在字段Id为2的数据。不存在即为False。

8、linq语法,最简单的查询方式,from 集合/表的别名 in 集合/表 where 条件 select 字段集合;

9、同样的,linq语法里面的查询结果字段名,也可以起别名。

如何通过【.NET基础】Linq常用语法代码实现高效数据处理?

10、可以通过orderby对指定的字段进行排序。也可以多个字段并列排序,同时存在升序和降序,待自己发现。

11、也可以关联查询,关联查询最简单的查询语法书 from 表1别名 in 表1 join 表2别名 in 表2 on 表1.字段 equals 表2.字段 select 需要筛查的字段;

也可以继续拓展出和表3的关联查询、表4的关联查询,等等……

12、关联查询也一样可以使用Where语句进行约束条件。

13、也可以进行分组查询。group 后面接的是最终需要查询的结果集字段。

14、结果集字段同样支持别名、指定字段等等。

15、以上就是该文章的全部内容,内容很简单,希望对初学者或者入门的小伙伴会有帮助。当然,上面的演示都是非常基础和简单的,平常使用ORM进行操作数据库、或者操作其他集合,例如DbSet、IEnumerable等等类型的,也都可以支持这么操作。这样可以避免直接写SQL语句进行操作数据库可能产生的一些不好的情景,例如切换另一个品牌的数据库之类的,就可能需要重写SQL语句了;而使用Linq语法就可以一定程度上避免存在这样的情况,毕竟可以面向实体,只要保证实体没变,就可以不担心数据库切换了,代码也就不需要更改了。

如果觉得文章有帮助,欢迎点赞推荐、转发和留言,谢谢。

欢迎加入QQ群: 群号:1079830632
标签:NET基础Linq

本文共计1110个文字,预计阅读时间需要5分钟。

如何通过【.NET基础】Linq常用语法代码实现高效数据处理?

前言:前言不是很重要,下面是LINQ入门常用的语法,LINQ语法可以用来写操作集合、数据库表集合等几乎所有集合类型的操作。

下面是一些案例(以List集合来做的):

1. 查询列表中所有大于5的元素:csharpList numbers=new List { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };var result=numbers.Where(n=> n > 5);foreach (var item in result){ Console.WriteLine(item);}运行结果:

67

89

10

2. 查询列表中所有小于5的元素:

csharpvar result=numbers.Where(n=> n <5);foreach (var item in result){ Console.WriteLine(item);}运行结果:

12

34

3. 查询列表中所有偶数元素:csharpvar result=numbers.Where(n=> n % 2==0);foreach (var item in result){ Console.WriteLine(item);}运行结果:

24

68

10

4. 查询列表中所有奇数元素:

csharpvar result=numbers.Where(n=> n % 2 !=0);foreach (var item in result){ Console.WriteLine(item);}运行结果:

13

79

5. 查询列表中所有元素的总和:csharpvar result=numbers.Sum();Console.WriteLine(result);运行结果:

55

前言:前言不重要,linq入门常用的语法,linq语法可以用来写操作集合、数据库表集合等等几乎所有集合类型的操作。下面就写几个案例(以List集合来做的),看代码和运行结果即可。

本文演示环境:VS2022 + .NET 6

1、创建一个.NET 6.0的控制台项目,用来演示测试和输出。

2、然后新增两个实体类,用于后续做测试使用,包括关联查询等。

3、初始化一丢丢数据,当做测试的原始数据。

4、先运行下,看下当前数据集合的结果集是怎么样的。此处以Json格式展示,以下其他输出也一样,都是用Json数据输出,比较好对比。

5、先玩一下最简单的lambda表达式的查询方法,以下只是最基本的操作,还有很多别的扩展使用方法,待自己发现。

6、lambda表达式的操作方法,也可以对查询结果字段进行起别名。

7、有一个很好用的判断集合是否存在数据的,直接使用 Any。 Any里面也可以写lambda表达式,例如 xxx.Any(x=>x.Id==2) ,如果结果为True,代表集合里面存在字段Id为2的数据。不存在即为False。

8、linq语法,最简单的查询方式,from 集合/表的别名 in 集合/表 where 条件 select 字段集合;

9、同样的,linq语法里面的查询结果字段名,也可以起别名。

如何通过【.NET基础】Linq常用语法代码实现高效数据处理?

10、可以通过orderby对指定的字段进行排序。也可以多个字段并列排序,同时存在升序和降序,待自己发现。

11、也可以关联查询,关联查询最简单的查询语法书 from 表1别名 in 表1 join 表2别名 in 表2 on 表1.字段 equals 表2.字段 select 需要筛查的字段;

也可以继续拓展出和表3的关联查询、表4的关联查询,等等……

12、关联查询也一样可以使用Where语句进行约束条件。

13、也可以进行分组查询。group 后面接的是最终需要查询的结果集字段。

14、结果集字段同样支持别名、指定字段等等。

15、以上就是该文章的全部内容,内容很简单,希望对初学者或者入门的小伙伴会有帮助。当然,上面的演示都是非常基础和简单的,平常使用ORM进行操作数据库、或者操作其他集合,例如DbSet、IEnumerable等等类型的,也都可以支持这么操作。这样可以避免直接写SQL语句进行操作数据库可能产生的一些不好的情景,例如切换另一个品牌的数据库之类的,就可能需要重写SQL语句了;而使用Linq语法就可以一定程度上避免存在这样的情况,毕竟可以面向实体,只要保证实体没变,就可以不担心数据库切换了,代码也就不需要更改了。

如果觉得文章有帮助,欢迎点赞推荐、转发和留言,谢谢。

欢迎加入QQ群: 群号:1079830632
标签:NET基础Linq