c#通过linq方式加载xml_C# 10. LINQ 的三种查询语句写法

前言:

LINQ(语言集成查询)是 C#编程语言中的一部分。它在.NET Framework 3.5 和 C#3.0 被引入,在 System.Linq 命名空间中使用。LINQ 为我们提供了通用的查询语法,该语法使我们能够查询来自各种数据源的数据。这意味着我们可以从各种数据源(如 SQL Server 数据库,XML 文档,ADO.NET 数据集)以及任何其他内存中对象(如 Collections,Generics 等)查询获取或更新设置数据。

编写 LINQ 查询,我们需要三个步骤:

1、定义或引入数据源(内存中的对象,SQL,XML)

2、编写询问语句

3、在数据源中执行查询语句

下面让我们来演示不同的 LINQ 查询语句写法

1. LINQ 查询语句表达式语法

简单的查询表达式:分别有:数据初始化、条件表达式、对象选取表达式组成

from object in DataSource    where [condition]        select object;

设置查询条件:对象大于 5

var QuerySyntax = from obj in integerList                              where obj > 5                              select obj;

完整代码示例:

using System;using System.Collections.Generic;using System.Linq;namespace Csharp{    class Demo    {        static void Main(string[] args)        {            // 数据源            List integerList = new List()            {                1, 2, 3, 4, 5, 6, 7, 8, 9, 10            };            // LINQ 方法1:查询表达式            var QuerySyntax = from obj in integerList                              where obj > 5                              select obj;            Console.WriteLine("LINQ 方法1:查询表达式");            // 执行LINQ查询            foreach (var item in QuerySyntax)            {                Console.Write(item + " ");            }            Console.ReadKey();        }    }}

e1d328acc52cb845c638a55faa10dee0.png

输出大于 5 的对象:6 7 8 9 10


2. LINQ 对象方法表达式语法

简单的对象表达式语法,即将数据源对象扩展查询方法

DataSource.ConditionMethod([Condition]).SelectMethod();

扩展数据源对象 Where 查询方法

var MethodSyntax = integerList.Where(obj => obj > 5).ToList();

完整代码示例:

using System;using System.Collections.Generic;using System.Linq;namespace Csharp{    class Demo    {        static void Main(string[] args)        {            // 数据源            List integerList = new List()            {                1, 2, 3, 4, 5, 6, 7, 8, 9, 10            };            // LINQ 方法2:对象表达式            var MethodSyntax = integerList.Where(obj => obj > 5).ToList();            Console.WriteLine("LINQ 方法2:对象表达式");            // 执行LINQ查询            foreach (var item in MethodSyntax)            {                Console.Write(item + " ");            }            Console.ReadKey();        }    }}

b287040a1219bfe036ed1d568cbe08a1.png

输出大于 5 的对象:6 7 8 9 10


3. LINQ 2 种语法混合使用

两种查询语法也可以混合使用

先使用查询语句表达式语法将数据筛选,然后通过对象方法表达式,返回数据之和

var MethodSyntax = (from obj in integerList                                where obj > 5                                select obj).Sum();

完整代码示例:

using System;using System.Collections.Generic;using System.Linq;namespace Csharp{    class Demo    {        static void Main(string[] args)        {            // 数据源            List integerList = new List()            {                1, 2, 3, 4, 5, 6, 7, 8, 9, 10            };            // LINQ 方法3:2种语法混合使用            var HybridMethod = (from obj in integerList                                where obj > 5                                select obj).Sum();            Console.WriteLine("LINQ 方法3:2种语法混合使用");            // 执行LINQ查询            Console.Write($"数据之和为:{HybridMethod}");            Console.ReadKey();        }    }}

57f232f6f9ec5d3686a974113f02a546.png

先筛选大于 5 的对象:6 7 8 9 10,再对这些对象求和

输出:40

今天我们给大家分享了,C#语言中LINQ查询的3种语法,大家都学会了吗?

欢迎关注公众号:KnowHub 知识加油站!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值