`
WPComming
  • 浏览: 58908 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

LINQ简记(2):重要概念

 
阅读更多
为了能让初学者更快速地掌握,在系列文章中,我尽可能地避开理论讲解,一则对于入门者来说,过多的理论叙述反而会降低大家学习编程的兴趣,二则,官方文档的资料很详细,我说了也是废话。因此,我会尽可能地多举些简单的例子,让初学者能够看得懂,呵呵,当然了,学习LINQ,还得有一定C#语法基础。
上一篇文章中我们讨论了最简单的LINQ语法,也是最基本的语法和表达式编写结构,本文我们就来谈一谈几个重要的概念。
一、查询三步曲。
创建和使用LINQ,有三个必备的步骤:
1、Get——数据从哪里来?得到数据源;
2、Create——创建查询表达式,这是核心;
3、Execute——执行查询,并得到相应结果。
好的,我们下面按照这三步来做一个练习。
1、数据源,可以来自于数据库,XML,这里我们手动创建一个数组。

2、创建查询,我们来写一个LINQ表达式,把上面字符串数组中包含字母“t ”的都筛选出来。


3、执行查询,把结果输出到“输出窗口”中。


运行一下程序,你会看到以下结果。


呵呵,怎么样?找到感觉了没?不要紧张,再练一个。

1、数据源。


2、创建查询。把里面的偶数筛选出来。


3、执行查询。


最终,我们得到以下结果。


二、延迟执行。

你一定会问,LINQ表达式是在什么时候执行呢?在声明查询变量时,还是在foreach循环中?好,我们一起来探索一下。

LINQ一般是延迟执行,也就是说,到了foreach的时候才被执行,如果要强制执行,可以调用ToArray等方法,如。


这个,很难通过断点调试去证实,因为当你在单步跟入时,为了预览结果视图,VS已经提前执行了。因此,这个概念我们参阅一下MSDN就可以了,也不属于很重要的内容,重要的我们知道怎么用它。

下面这张图片来自微软官方文档,它展示了LINQ的整个执行过程。

分享到:
评论

相关推荐

    Linq之旅:Linq入门详解(实例)

    Linq的基本概念 Linq(Language Integrated Query)是.NET Framework 3.5引入的一种新特性,它将查询操作直接集成到C#和Visual Basic等编程语言中,使得查询表达式与普通的语言结构具有相同的语法地位。Linq支持...

    LINQ Unleashed: for C# (Unleashed) (Paperback - Jul 24, 2008)

    本书详细讲解了以下LINQ的核心概念和关键技术: 1. 查询表达式:这是LINQ最直观的部分,使用类似SQL的语法在C#代码中编写查询。比如,`from...where...select`结构用于过滤和投影数据。 2. LINQ to Objects:针对...

    2008.精通LINQ数据访问技术:基于C# 侯利军

    以下将详细阐述LINQ的核心概念、应用场景以及其在C#中的实现。 1. LINQ简介: LINQ提供了一种在C#和Visual Basic中内建的查询语法,使得开发者能够使用熟悉的编程语言来编写查询,而不是学习新的查询语言。通过...

    Visual Studio 2008开发新特性系列课程(4):VS2008新特性之LINQ实战

    2. LINQ的组成部分: - LINQ to Objects:处理内存中的集合,如数组和列表。 - LINQ to SQL:与关系数据库进行交互,将SQL查询转换为.NET方法调用。 - LINQ to XML:处理XML文档,提供了更直观的XML编程模型。 -...

    LinqInAction.SourceCode

    2. LINQ的核心概念: - 查询表达式:一种类似SQL的语法,允许在C#或VB.NET中编写声明式的查询。 - LINQ提供者:针对不同数据源(如SQL Server、XML、LINQ to Objects等)的适配器,将查询转换为适合该数据源的查询...

    calcite-linq4j-1.2.0-incubating.jar

    calcite-linq4j-1.2.0-incubating.jar

    linq数据库LINQ的演变及其对C#.pdf

    LINQ(Language Integrated Query,语言集成查询)是.NET框架中的一项重要特性,它自2007年C# 3.0版本引入以来,极大地改变了C#程序员处理数据的方式。这篇文档将深入探讨LINQ的发展历程,以及它如何对C#编程语言...

    linq学习资料及源码实例

    LINQ(Language Integrated Query,语言集成查询)是.NET框架中的一项重要技术,它为C#和Visual Basic等编程语言提供了内置的查询能力,使得开发者能够更方便地处理各种数据源,如集合、数据库、XML等。这个压缩包...

    java种菜源码-swift-linq-examples:C#的101个LINQ示例转换为Swift

    LINQ 示例 将端口重写为 . 将 Swift 与其他编写的 LINQ 示例进行比较: 如果您正在寻找一种用于在 iOS 或 OSX Swift 3.0 应用程序中使用 .NET Web 服务的简单类型 API,请查看 ServiceStack 的 . 运行示例 您可以...

    apache kylin4.0.1 源码编译所需jar包

    apache-kylin-4.0.1 源码所需jar包,一键打包...calcite-linq4j-1.16.0-kylin-r5.jar calcite-core-1.16.0-kylin-r5.jar opensaml-2.6.6.jar spring-security-saml2-core-1.0.2.RELEASE.jar commons-httpclient-3.1.jar

    Visual Studio 2008开发新特性系列课程VS2008新特性之LINQ入门

    2. 查询提供者:为了支持不同的数据源,LINQ引入了查询提供者的概念。每个提供者负责将查询表达式转换为目标数据源可以理解的查询形式。例如,SQL查询提供者将C#或VB的LINQ查询转换为SQL语句。 3. LINQ数据类型:...

    Linq基础语法与高级应用技巧系列教程

    * 匿名类型:Linq提供了一种匿名类型的概念,允许开发者在查询中定义临时的数据类型。 * lambda表达式:Linq支持lambda表达式,允许开发者在查询中使用函数式编程的概念。 Linq的高级应用技巧: * 使用Linq to SQL...

    2008.精通LINQ数据访问技术:基于C#

    LINQ(Language Integrated Query,语言集成查询)是微软公司提供的一项新技术,能够将查询功能直接引入到.NET Framework 3.5所支持的编程语言中,如C#、***等。通过LINQ,查询操作可以通过编程语言自身来传达,而...

    100多个Linq例子

    2. **Linq操作符:** - `Count()`, `Sum()`, `Average()`, `Max()`, `Min()`:聚合函数。 - `First()`, `FirstOrDefault()`, `Last()`, `LastOrDefault()`: 获取第一个或最后一个元素。 - `Any()`, `All()`: 检查...

    linq的简单示例 c#linq的使用

    LINQ(Language Integrated Query,语言集成查询)是C#编程语言的一个重要特性,它为.NET开发者提供了一种统一、简洁的查询数据的方式。在C#中,LINQ主要用于处理各种数据源,包括集合、数据库、XML文档等。下面将...

    ch03-linq的各类高级查询视频教学.rar

    2. LINQ方法语法:对比查询表达式,讲解如何使用扩展方法实现相同功能,如Where、Select、GroupBy等。 3. 查询操作符:深入探讨各种查询操作符,如Join用于连接不同数据源,OrderBy和OrderByDescending用于排序,...

    Linq2Couchbase:Couchbase .NET SDK的语言集成查询(LINQ)提供程序

    Linq2Couchbase 官方语言集成查询(LINQ)提供程序,用于使用Couchbase .NET SDK使用查询Couchbase服务器。 Linq2Couchbase的目标是创建一个轻量级的ORM / ODM,以使用LINQ作为应用程序和Couchbase Server之间的...

    linq-fns:Type LINQ for Javascript,由TypeScript编写

    linq-fns 用于以TypeScript编写JavaScript的.NET LINQ函数。 :high_voltage: 提供可重用的Queryable变量,并使用谓词集合进行延迟执行。 :hammer: 包含大多数原始的.NET方法和一些其他方法。 :hammer: 支持...

    .net LINQ入门教程

    这篇教程面向初学者,旨在帮助理解LINQ的基本概念、语法和使用场景。 首先,我们要明白LINQ的核心理念是统一各种数据源的查询语法,无论这些数据源是数据库、XML文档、数组还是其他类型的集合。通过使用相同的查询...

Global site tag (gtag.js) - Google Analytics