C# 10. LINQ 的三种查询语句写法
Posted KonwHub知识加油站
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
设置查询条件:对象大于 5
using System;
using System.Collections.Generic;
using System.Linq;
namespace Csharp
{
class Demo
{
static void Main(string[] args)
{
// 数据源
List<int> integerList = new List<int>()
{
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();
}
}
}
输出大于 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<int> integerList = new List<int>()
{
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();
}
}
}
输出大于 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<int> integerList = new List<int>()
{
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();
}
}
}
先筛选大于 5 的对象:6 7 8 9 10,再对这些对象求和
输出:40
今天我们给大家分享了,C#语言中LINQ查询的3种语法,大家都学会了吗?
以上是关于C# 10. LINQ 的三种查询语句写法的主要内容,如果未能解决你的问题,请参考以下文章