您好,登錄后才能下訂單哦!
這篇文章主要講解了“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擴展方法,我們可以如下這樣做:
public static class MyExtensions { publicstatic bool IsValidEmailAddress(this strings) { Regex regex = new Regex( @"^[w-.]+@([w-]+.)+[w-]{2,4}$"); return regex.IsMatch(s); } }
我們定義了一個帶有靜態方法的靜態類。注意,那個靜態方法在參數類型string 前面有一個this 關鍵詞,這會告訴編譯器這個特殊的Linq擴展方法會增加給string 類型的對象。于是我們就可以在string 中調用這個成員方法:
using MyExtensions; string email = Request.QueryString["email"]; if( email.IsValidEmailAddress() ) { // ... }
值得提出的是,LINQ就是使用了System.Linq 命名空間中的Linq擴展方法(比如where()、orderby()、select()、sum()、average()等等),而且它定義了標準查詢操作符,可以用來查詢關系數據庫、XML和任何實現了IEnumerable<T> 接口的.NET對象。
感謝各位的閱讀,以上就是“Linq擴展方法是什么”的內容了,經過本文的學習后,相信大家對Linq擴展方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。