Linq扩展方法简单分析

在向大家详细介绍LINQ之前,首先让大家了解下LINQ是什么,然后全面介绍Linq扩展方法。

专注于为中小企业提供网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业子长免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

LINQ使查询成为了.NET中头等的编程概念,被查询的数据可以是XML(LINQ to XML)、Databases(LINQ to SQL、LINQ to Dataset、LINQ to Entities)和对象(LINQ to Objects)。LINQ也是可扩展的,允许你建立自定义的LINQ数据提供者(比如:LINQ to Amazon、LINQ to NHibernate、LINQ to LDAP)。在这里我会讨论C#3.0中的一些新的语言特性和改进,正是它们使得LINQ变得如此强大~~

Linq扩展方法

Linq扩展方法可以使你来扩展一个已存在的类型,增加它的方法,而无需继承它或者重新编译。所以不像为对象写助手方法,Linq扩展方法可以直接是对象自己的一部分。

一个示例,假设我们想要验证一个string 是不是合法的Email地址,我们可以编写一个方法,输入为一个string 并且返回true 或者false 。现在,使用Linq扩展方法,我们可以如下这样做:

 
 
 
  1. public static class MyExtensions {
  2. publicstatic bool IsValidEmailAddress(this strings) {
  3. Regex regex = new
  4. Regex( @"^[w-.]+@([w-]+.)+[w-]{2,4}$");
  5. return
  6. regex.IsMatch(s);
  7. }
  8. }

我们定义了一个带有静态方法的静态类。注意,那个静态方法在参数类型string 前面有一个this 关键词,这会告诉编译器这个特殊的Linq扩展方法会增加给string 类型的对象。于是我们就可以在string 中调用这个成员方法:

 
 
 
  1. using MyExtensions;
  2. string email = Request.QueryString["email"];
  3. if( email.IsValidEmailAddress() ) {
  4. // ...
  5. }

值得提出的是,LINQ就是使用了System.Linq 命名空间中的Linq扩展方法(比如where()、orderby()、select()、sum()、average()等等),而且它定义了标准查询操作符,可以用来查询关系数据库、XML和任何实现了IEnumerable 接口的.NET对象。

网页标题:Linq扩展方法简单分析
文章链接:http://www.zyruijie.cn/qtweb/news48/148.html

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

广告

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