深入讲解LINQ表达式

本文从LINQ表达式简介、初识LINQ表达式、LINQ表达式解析、查询操作符与扩展方法解析等几方面对对LINQ表达式进行简单介绍。

成都创新互联公司坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。十多年网站建设经验成都创新互联公司是成都老牌网站营销服务商,为您提供成都做网站、网站建设、网站设计、H5开发、网站制作、高端网站设计、微信小程序开发服务,给众多知名企业提供过好品质的建站服务。

在向大家详细介绍LINQ表达式之前,首先让大家了解下LINQ表达式简介,然后全面介绍LINQ表达式。

LINQ表达式简介

1.OO(面向对象)以外的疆域:信息的访问与整合。关系数据库与XML为其中的典型应用。

2.NET Language Integrated Query (LINQ):不采用特定於关系数据库或者XML的专有方案,而采用通用方案来解决各种信息源的访问与整合问题。

3.在LINQ中,查询成为编程语言的一个组成部分,这使得查询表达式可以得到很好的编译时语法检查,丰富的元数据,智能感知等强类型语言的好处。

初识LINQ表达式

 
 
 
  1. class app   
  2. {    
  3. static void Main()   
  4. {    
  5. string[] names = { "Burke", "Connor", "Frank",    
  6. "Everett", "Albert", "George",    
  7. "Harris", "David" };    
  8. IEnumerable query = from s in names    
  9. where s.Length == 5    
  10. orderby s    
  11. select s.ToUpper();    
  12. foreach (string item in query)    
  13. Console.WriteLine(item);    
  14. }    
  15. }   

LINQ表达式解析

 
 
 
  1. IEnumerable query = from s in names    
  2. where s.Length == 5    
  3. orderby s    
  4. select s.ToUpper();   

在语义上等同于如下“方法风格(基于方法)的查询”:

 
 
 
  1. IEnumerable query = names   
  2. .Where(s => s.Length == 5)    
  3. .OrderBy(s => s)    
  4. .Select(s => s.ToUpper());   

LINQ表达式解析:

 
 
 
  1. Func filter = delegate (string s) {    
  2. return s.Length == 5;};    
  3. Func extract = delegate (string s) {    
  4. return s; };    
  5. Func project = delegate (string s) {    
  6. return s.ToUpper(); };    
  7. IEnumerable query = names.Where(filter)    
  8. .OrderBy(extract)    
  9. .Select(project);   

查询操作符与扩展方法解析:

查询操作符是LINQ表达式中的另外一项重要设施,LINQ使用扩展方法来定义查询操作符,例如where操作符:

 
 
 
  1. namespace System.Linq {    
  2. public static class Enumerable {    
  3. public static IEnumerable  Where (    
  4. this IEnumerable  source, Func bool> predicate) {    
  5. foreach (T item in source)    
  6. if (predicate(item))    
  7. yield return item;    
  8. }    
  9. }    
  10. }   

以上就是对LINQ表达式的详细介绍。

当前文章:深入讲解LINQ表达式
转载注明:http://www.shufengxianlan.com/qtweb/news7/215607.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联