日韩无码专区无码一级三级片|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本質(zhì)簡(jiǎn)單分析

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

創(chuàng)新互聯(lián)10多年成都企業(yè)網(wǎng)站建設(shè)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及高端網(wǎng)站定制服務(wù),成都企業(yè)網(wǎng)站建設(shè)及推廣,對(duì)格柵板等多個(gè)領(lǐng)域擁有豐富建站經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。

本文的目的是幫助大家搞清楚C#3.0里面的Linq查詢表達(dá)式的來龍去脈,搞清楚以后對(duì)C#3.0的新特性基本上也就了然于胸了。建議大家看完Linq查詢后再看各個(gè)語(yǔ)法新特性對(duì)Linq的意義,這樣會(huì)更加有幫助一些。

1.匿名類型

 
 
 
  1. private static void AnonymousType()  
  2. {  
  3. var v = new { Name = "張三", Sex = true };  
  4. //無須顯示聲明一個(gè)類,而且在初始化器里面可以獲取上下文的變量——閉包  
  5. Console.WriteLine(v.Name);  

Linq本質(zhì):有了匿名類型后我們不需要顯示的聲明一個(gè)類型了,這個(gè)類型由C#編譯器自動(dòng)生成,而且利用了初始化器和var的新特性對(duì)Linq的意義:和初始化器結(jié)合起來構(gòu)造查詢結(jié)果集合里面的新元素類型。

2.擴(kuò)展方法

比如我們現(xiàn)在想給int類型增加(擴(kuò)展)一個(gè)方法,判斷一個(gè)整數(shù)自身是否偶數(shù),我們期望的語(yǔ)法是這樣的:

 
 
 
  1. private static void ExtendMethod()  
  2. {  
  3. int i = 2;  
  4. Console.WriteLine(i.IsEven());  

注意原來int原來是沒有IsEven()這個(gè)方法的,要實(shí)現(xiàn)這個(gè)方法,必須寫一個(gè)靜態(tài)類和一個(gè)靜態(tài)方法:

 
 
 
  1. static class MyExtention  
  2. {  
  3. public static bool IsEven(this int num)  
  4. //this 表示針對(duì)int的實(shí)例和索引器的this的含義是一樣的,int表示給int這種類型進(jìn)行擴(kuò)展  
  5. {  
  6. return num % 2 == 0;  
  7. }  
  8.  

Linq本質(zhì):編譯i.IsEven()的本質(zhì)是C#編譯器生成了了MyExtention.IsEven(i)的代碼,實(shí)際上仍然沒有破壞類型的結(jié)構(gòu),并不是真的象語(yǔ)法那樣平白無故給int增加了一個(gè)IsEven()方法,和設(shè)計(jì)模式里面的Visitor模式動(dòng)態(tài)注入方法還是有區(qū)別的。


文章題目:Linq本質(zhì)簡(jiǎn)單分析
標(biāo)題路徑:http://www.5511xx.com/article/cdigjoj.html