我的编程空间,编程开发者的网络收藏夹
学习永远不晚

LINQ语法怎么理解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

LINQ语法怎么理解

这篇文章主要介绍“LINQ语法怎么理解”,在日常操作中,相信很多人在LINQ语法怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”LINQ语法怎么理解”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

程序语言随着时间演进,一再沉淀经验与抽象后,以简练直观的语法解决具有共通特征的各式问题。Visual Studio 2008(程序代码名称为 Orcas)、C# 3.0 与 VB.NET 9.0 后将支持新的语法 Language Integrated Query(LINQ),想一体解决多样的资料存取。它是由 Anders Hejlsberg 所主导。Anders 曾打造了 Turbo Pascal、Delphi、Visual J++、C# 等叫好叫座的产品,单凭这位杀手应用创造者的眼光,LINQ 就不可小觑。

LINQ 是一系列语言延伸模块,以型别安全的方式支持数据查询。期待隔绝各种数据的特性,不管是各厂家数据库的 SQL 方言,或是 XML 的 DOM、XQuery 或 XPath,抑或是对象集合的属性存取。以共通的方式完成数据操作,如:挑选、比对、排序、汇总…等等。期待减轻程序开发人员学习操作各种数据的负荷。

LINQ 藉由各语言编译程序将内嵌的 LINQ语法转译成原本的 C# 或 VB.NET 程序代码,并呼叫相关的底层模块以实体维护数据。***编译成与 .NET Framework 2.0 CLR 兼容的 IL,所以 CLR 本身并未增加与 LINQ 相关的模块,但 .NET Framework、Visual Studio 整合开发环境和程序语言需要增加相关功能和语法。

就笔者自己的感觉,LINQ 有以下的好处:

◆简化大量的细节运作,将如何(how)取得数据换成要操作什么(what)数据:这隐含存取优化交由专家来做,如 DB 引擎优化存取数据。

◆透过IEnumerable<T> 一致性地存取各种数据,并在查询语法中互相整合:如 File System、操作系统的 process、Registry、对象集合、XML、DB...,所用的皆是对象,大家的属性都是数据。换句话说,数据对象化,对象数据化,存取二者的语法与语意相同。

◆平行运算:若要处理大量数据,程序设计师不容易撰写 for 循环还包含平行运算。但 LINQ 转译成 C# 或 VB.NET 的程序代码时,可以平行运算的方式处理大量数据。

◆撰写数据对象存取的过程中,可以 IntelliSense 和强型别检查:相较于以往 ADO.NET 加上 SQL 语法,LINQ 比 typed dataset 直观易懂,且应用更为广泛。

就笔者与许多朋友聊到 LINQ 时,最多的询问便是「未来是否不需要学 SQL 了?」个人认为,短时间不可能,LINQ 或许会减轻程序设计师对 SQL 的倚赖,但 LINQ 不会取代 SQL。它们各有一片天,LINQ 是程序设计师讲的数据对象语言,SQL 是数据库管理师对数据库引擎讲的语言,LINQ 是从应用程序处理数据的角度出发,但 SQL 关乎着整体数据库服务器有效且安全地活着的每一个细节。

而紧接的问题通常是:「将数据以对象来包装,透过 entity 类别间接存取数据,那是否会有效率问题?」这笔者无法回答,尚待真实世界来证明。

LINQ 范例

你可以在 C# 中直接内嵌如下的语法:取得在 Customer 对象集合中,每个 Customer 的属性 Country 值为 USA,按照 City 属性由大到小排序,传回以 CompanyName 和 City 两个属性的字符串值所建立的新对象之集合:

var matchCustomers = from c in db.Customers  where c.Country == "USA"  orderby c.City descending  select new { c.CompanyName, c.City };

这句 LINQ语法经由 C# 编译程序解析,传回实做 IEnumerable<Anonymous Type> 接口的对象给 matchCustomers 变量。而在查询语法中,呼叫了 where、orderby、select 等延伸方法(Extension Methods)。并定义匿名方法(Anonymous Methods)的委派(delegate);要求 where 方法比较 Customers 集合中 Customer 对象的 Country 属性值为 USA。换句话说,自动将 c.Country == "USA" 转成 bool Pred<T>(T item) 形式的委派。***透过 select 延伸方法搭配对象初始化表达式,回传匿名型别(Anonymous Type)对象的集合。

若不采用 LINQ 写法,上述语法也可以写成如下的方式:

  1. var matchCustomers = db.Customers.Where(c => c.Country == "USA").
    OrderByDescending(c => c.City).Select(c => new { c.CompanyName, c.City }); 

到此,关于“LINQ语法怎么理解”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

LINQ语法怎么理解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

LINQ语法怎么理解

这篇文章主要介绍“LINQ语法怎么理解”,在日常操作中,相信很多人在LINQ语法怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”LINQ语法怎么理解”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!程序
2023-06-17

LINQ查询语法怎么写

这篇文章将为大家详细讲解有关LINQ查询语法怎么写,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。LINQ查询语法首先来看一个很简单的LINQ查询例子,查询一个int 数组中小于5的数字,并按照大小顺序排列
2023-06-17

Linq查询语法怎么使用

这篇文章主要介绍“Linq查询语法怎么使用”,在日常操作中,相信很多人在Linq查询语法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linq查询语法怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-17

LINQ To SQL和ORM怎么理解

这篇文章主要讲解了“LINQ To SQL和ORM怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“LINQ To SQL和ORM怎么理解”吧!LINQ To SQL和ORM的理解1、没
2023-06-17

LINQ和ADO.NET技术怎么理解

本篇内容主要讲解“LINQ和ADO.NET技术怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ和ADO.NET技术怎么理解”吧!LINQ和ADO.NET如今,许多业务开发人员都必须
2023-06-18

Linq延时执行怎么理解

本篇内容主要讲解“Linq延时执行怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linq延时执行怎么理解”吧!Linq的大多数查询运算符的一个重要特性就是,他们并不是在构建的时候就立即执
2023-06-17

LINQ查询架构怎么理解

本篇内容主要讲解“LINQ查询架构怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ查询架构怎么理解”吧!LINQ(发音:Link)是Language Integrated Quer
2023-06-17

LINQ体系结构怎么理解

这篇文章主要介绍“LINQ体系结构怎么理解”,在日常操作中,相信很多人在LINQ体系结构怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”LINQ体系结构怎么理解”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-17

LINQ基础概念怎么理解

本篇内容介绍了“LINQ基础概念怎么理解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!要想更好地了解LINQ,首先需要了解LINQ基础概念。
2023-06-17

LINQ模糊查询怎么理解

本篇内容主要讲解“LINQ模糊查询怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ模糊查询怎么理解”吧!LINQ模糊查询实现的意义:为了避免即使实现,效率也不是很高,LINQ提供了
2023-06-17

C#的Linq语法是什么

今天小编给大家分享一下C#的Linq语法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、LINQ的体系结构语言集成查
2023-06-30

LINQ动态查询怎么理解

本篇内容主要讲解“LINQ动态查询怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ动态查询怎么理解”吧!LINQ动态查询有这样一个场景:应用程序可能会提供一个用户界面,用户可以使用
2023-06-17

Linq数据和对象怎么理解

这篇文章主要讲解了“Linq数据和对象怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linq数据和对象怎么理解”吧!大家知道在开发数据时,数据一般是关系型数据,然而数据和对象是什么关
2023-06-17

Python语法怎么理解

这篇文章主要介绍“Python语法怎么理解”,在日常操作中,相信很多人在Python语法怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python语法怎么理解”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-17

LINQ TO SQL加载模式怎么理解

本篇内容介绍了“LINQ TO SQL加载模式怎么理解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在LINQ TO SQL中,有两种主要的
2023-06-17

C#中LINQ的基本语法是什么

LINQ(Language Integrated Query)是C#中用于查询数据的语言集成查询功能。其基本语法如下:查询数据:var query = from item in collectionwhere conditionselect
C#中LINQ的基本语法是什么
2024-04-03

Linq中怎么调用LoadProducts方法

这期内容当中小编将会给大家带来有关Linq中怎么调用LoadProducts方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。LoadWith方法和Associate With方法这个例子说明:使用Loa
2023-06-17

Linq中怎么调用SubmitChanges方法

本篇文章给大家分享的是有关Linq中怎么调用SubmitChanges方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. 当Linq SubmitChanges方法时,LI
2023-06-17

Python中怎么理解yield from语法

本篇内容介绍了“Python中怎么理解yield from语法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!. 为什么要使用协程在上一篇中,
2023-06-01

LINQ to DataSet问题怎么解决

本篇内容主要讲解“LINQ to DataSet问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ to DataSet问题怎么解决”吧!使用 LINQ to DataSet 可
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录