日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linq擴(kuò)展方法簡(jiǎn)單描述

本文向大家介紹Linq擴(kuò)展方法,可能好多人還不了解Linq擴(kuò)展方法,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。

10年的天涯網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整天涯建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“天涯網(wǎng)站設(shè)計(jì)”,“天涯網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

Linq擴(kuò)展方法

結(jié)果證明,更好的語(yǔ)法將以被稱為L(zhǎng)inq擴(kuò)展方法的語(yǔ)言功能形式出現(xiàn)。Linq擴(kuò)展方法基本上屬于可通過(guò)實(shí)例語(yǔ)法調(diào)用的靜態(tài)方法。上述查詢問題的根源是我們?cè)噲D向 IEnumerable 添加方法。但如果我們要添加運(yùn)算符,如 Where、Select 等,則所有現(xiàn)有和未來(lái)的實(shí)現(xiàn)器都必須實(shí)現(xiàn)那些方法。盡管那些實(shí)現(xiàn)絕大多數(shù)都是相同的。在 C# 中共享“接口實(shí)現(xiàn)”的唯一方法是使用靜態(tài)方法,這是我們處理以前使用的EnumerableExtensions 類的一個(gè)成功方法。

假設(shè)我們轉(zhuǎn)而將 Where 方法編寫為L(zhǎng)inq擴(kuò)展方法。那么,查詢可重新編寫為:

 
 
 
  1. IEnumerable locals = customers.Where(c => c.ZipCode == 91822); 

對(duì)于此簡(jiǎn)單查詢,該語(yǔ)法近乎***。但將 Where 方法編寫為L(zhǎng)inq擴(kuò)展方法的真正含義是什么呢?其實(shí)非常簡(jiǎn)單?;旧希?yàn)殪o態(tài)方法的簽名發(fā)生更改,因此“this”修飾符就被添加到***個(gè)參數(shù):

 
 
 
  1. public static IEnumerable Where(this IEnumerable items, Func, bool> predicate) 

此外,必須在靜態(tài)類中聲明該方法。靜態(tài)類是一種只能包含靜態(tài)成員,并在類聲明中用靜態(tài)修飾符表示的類。這就它的全部含義。此聲明指示編譯器允許在任何實(shí)現(xiàn) IEnumerable 的類型上用與實(shí)例方法相同的語(yǔ)法調(diào)用 Where。但是,必須能夠從當(dāng)前作用域訪問 Where 方法。當(dāng)包含類型處于作用域內(nèi)時(shí),方法也在作用域內(nèi)。因此,可以通過(guò) Using 指令將Linq擴(kuò)展方法引入作用域。

Linq擴(kuò)展方法有助于簡(jiǎn)化我們的查詢示例,但除此之外,這些方法是不是一種廣泛有用的語(yǔ)言功能呢?事實(shí)證明Linq擴(kuò)展方法有多種用途。其中一個(gè)最常見的用途可能是提供共享接口實(shí)現(xiàn)。例如,假設(shè)您有以下接口:

 
 
 
  1. interface IDog  
  2. {  
  3. // Barks for 2 seconds  
  4. void Bark();  
  5. void Bark(int seconds);  

請(qǐng)注意,此查詢的返回類型不同,它是 IEnumerable 而不是 IEnumerable。這是因?yàn)槲覀儍H從 select 語(yǔ)句中返回客戶名稱。


當(dāng)前題目:Linq擴(kuò)展方法簡(jiǎn)單描述
URL分享:http://www.5511xx.com/article/cdsiicp.html