首页 / 教程列表 / LINQ教程 / 什么是LINQ?

什么是LINQ?

1646 更新于: 2021-10-30 读完约需 4 分钟

什么是LINQ?

LINQ是英文Language Integrated Query的缩写,中文译为语言集成查询,发音”link”(我们听到有部分人发作”link-queue”其实是不准确的)。

LINQ(语言集成查询)是C#、VB.NET以及F#中的统一查询语法,用以检索来自不同数据源和格式的数据。它集成在c#、VB以及F#语言中,从而消除了编程语言和数据库之间的不匹配,并为不同类型的数据源提供了一个单一的查询接口。

例如,SQL是一种结构化查询语言,用于从数据库中保存和检索数据。同样,LINQ是在C#、VB.NET及F#中构建的结构化查询语法。它可以从如集合、ADO.Net、DataSet, XML文档,web服务以及MS SQL Server等不同类型的数据源中检索数据。

LINQ的架构图如下:

LINQ在C#语言中引入了查询功能,在编写程序代码时,编译器会检查LINQ查询是否正确。在Visual Studio中,LINQ查询是语法高亮显示并智能感知的,这为.NET开发人员提供了用于查询数据的强类型、逻辑结构的语法。

LINQ示例

以下是一个从整型数组中找出分数大于80的子数组:

public class Program
{
    static void Main()
    {
        // 定义一个整型数组作为数据源
        int[] scores = new int[] { 97, 92, 81, 60 };

        // 定义查询表达式
        IEnumerable<int> scoreQuery =
            from score in scores
            where score > 80
            select score;

        // 执行LINQ查询
        foreach (int i in scoreQuery)
        {
            Console.Write(i + " ");
        }
    }

运行结果如下图:

整型数组scores是数据源,以下是一个LINQ查询:

from score in scores
where score > 80
select score;

查询结果被赋给了变量scoreQuery。更多关于LINQ的查询语法,将在后续章节中逐一介绍。

在执行LINQ查询之前,scoreQuery是不会得到结果的。LINQ查询可以通过多种方式执行,这里我们使用foreach循环来执行存储在scoreQuery中的查询。foreach循环在数据源上执行查询并获得结果,然后遍历结果集。

因此,每个LINQ查询都必须查询某种类型的数据源,或者是数组、集合、XML或者其他数据库。写完LINQ查询后,必须执行它以获得结果。

下一节,我们将了解为什么要使用LINQ?

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

本文永久链接码友网 » LINQ教程 » 什么是LINQ? 分享:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册