成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linq擴展方法簡單分析

開發(fā) 后端
這里介紹Linq擴展方法可以使你來擴展一個已存在的類型,增加它的方法,而無需繼承它或者重新編譯。所以不像為對象寫助手方法,Linq擴展方法可以直接是對象自己的一部分。

在向大家詳細介紹LINQ之前,首先讓大家了解下LINQ是什么,然后全面介紹Linq擴展方法。

LINQ使查詢成為了.NET中頭等的編程概念,被查詢的數(shù)據(jù)可以是XML(LINQ to XML)、Databases(LINQ to SQL、LINQ to Dataset、LINQ to Entities)和對象(LINQ to Objects)。LINQ也是可擴展的,允許你建立自定義的LINQ數(shù)據(jù)提供者(比如:LINQ to Amazon、LINQ to NHibernate、LINQ to LDAP)。在這里我會討論C#3.0中的一些新的語言特性和改進,正是它們使得LINQ變得如此強大~~

Linq擴展方法

Linq擴展方法可以使你來擴展一個已存在的類型,增加它的方法,而無需繼承它或者重新編譯。所以不像為對象寫助手方法,Linq擴展方法可以直接是對象自己的一部分。

一個示例,假設(shè)我們想要驗證一個string 是不是合法的Email地址,我們可以編寫一個方法,輸入為一個string 并且返回true 或者false 。現(xiàn)在,使用Linq擴展方法,我們可以如下這樣做:

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

我們定義了一個帶有靜態(tài)方法的靜態(tài)類。注意,那個靜態(tài)方法在參數(shù)類型string 前面有一個this 關(guān)鍵詞,這會告訴編譯器這個特殊的Linq擴展方法會增加給string 類型的對象。于是我們就可以在string 中調(diào)用這個成員方法:

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

值得提出的是,LINQ就是使用了System.Linq 命名空間中的Linq擴展方法(比如where()、orderby()、select()、sum()、average()等等),而且它定義了標準查詢操作符,可以用來查詢關(guān)系數(shù)據(jù)庫、XML和任何實現(xiàn)了IEnumerable<T> 接口的.NET對象。

【編輯推薦】

  1. Linq查詢二維數(shù)組淺析
  2. 學(xué)習(xí)Linq經(jīng)驗總結(jié)
  3. Linq修改XML文檔描述
  4. Linq延時執(zhí)行全面分析
  5. Linq實現(xiàn)Left join
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-09-11 10:20:36

Linq擴展方法

2009-09-08 13:16:01

Linq to SQL

2009-09-15 15:09:50

Linq本質(zhì)

2009-09-10 16:32:19

LINQ Where

2009-09-08 17:01:54

Linq源元素

2009-09-10 17:53:50

LINQ是什么

2009-09-15 14:58:26

Linq查詢本質(zhì)

2009-09-14 09:49:08

Linq擴展函數(shù)

2009-09-17 08:47:00

Linq查詢

2009-09-09 14:20:49

LINQ To Luc

2009-09-09 15:28:43

Linq to obj

2009-09-10 16:28:17

LINQ查詢

2009-09-14 10:57:46

LINQ入門

2009-09-18 16:00:07

LINQ架構(gòu)

2009-09-15 16:26:36

Linq orderb

2009-09-08 10:50:20

2009-09-11 09:41:19

LINQ to SQL

2011-05-18 13:37:26

LINQ

2009-09-10 09:09:40

Linq實體繼承

2009-09-10 13:13:47

Linq Func<T
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 人人射人人 | 国产激情小视频 | 久久伊人精品 | 久久久久国产精品 | 最新日韩精品 | 超碰在线播 | 亚洲欧美日韩中文字幕一区二区三区 | 蜜桃毛片 | 欧美一级做性受免费大片免费 | 亚洲美女在线视频 | 一区二区三区高清 | 国内精品久久久久久 | 亚洲精品中文字幕 | 97久久精品午夜一区二区 | 黄色日批视频 | 国产一区2区 | 成人亚洲一区 | 国产一区二区不卡 | 欧美一区二区成人 | 高清视频一区二区三区 | 国产精品一区二区无线 | 国产精品综合视频 | 久久久久久免费毛片精品 | 亚洲精品一区中文字幕乱码 | 国产日韩电影 | 丝袜一区二区三区 | 97精品超碰一区二区三区 | 日韩有码一区 | 国产福利观看 | 超碰网址 | 天天爽综合网 | 国产精品九九九 | 日韩高清在线 | 精品粉嫩超白一线天av | 欧美亚洲一级 | 欧洲亚洲精品久久久久 | 亚洲精品乱码久久久久久按摩 | 亚洲视频一区二区三区 | 五月天天色 | 色婷婷综合久久久中字幕精品久久 | 99久久99|