一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

C#中LINQ技術(shù)的簡(jiǎn)單小例

 goodwangLib 2014-05-03
[c-sharp] view plaincopy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5.   
  6. namespace LINQ技術(shù)  
  7. {  
  8.     class Program  
  9.     {  
  10.         static void Main(string[] args)  
  11.         {  
  12.             //LINQ中的Where擴(kuò)展方法,要想使用,必須導(dǎo)入using System.Linq;   
  13.             //下面我們看一下這個(gè)方法的聲明   
  14.             //public static IEnumerable<TSource> Where<TSource>( this IEnumerable<TSource> source,Func<TSource, bool> predicate )   
  15.             //返回類型是:IEnumerable<TSource>   
  16.             //第一參數(shù)this IEnumerable<TSource> source代表的是他要擴(kuò)展的類型,也就是說(shuō)在IEnumerable<TSource>可以直接調(diào)用where方法   
  17.             //Func<TSource, bool> predicate第二個(gè)參數(shù)是一個(gè)委托,下面我們看一下他的聲明   
  18.             //public delegate TResult Func<T, TResult>( T arg ) 封裝一個(gè)帶有T類型,返回Tresult類型的方法   
  19.             //下面我們使用Linq中的Where方法來(lái)檢索我們的列表   
  20.             //我們做一個(gè)List<T>的列表,其中存放Person對(duì)象,然后我們用where方法檢索出年紀(jì)在20-30之前的人員 。   
  21.             List<Person> lists = new List<Person>()  ;  
  22.   
  23.             lists.Add( new Person( "aladdin" , 30 ) ) ;  
  24.             lists.Add( new Person( "jacky" , 20 ) ) ;  
  25.             lists.Add( new Person( "zhao" , 11 ) ) ;  
  26.             lists.Add( new Person( "fuck" , 33 ) ) ;  
  27.             lists.Add( new Person( "emep" , 25 ) ) ;  
  28.   
  29.             IEnumerable<Person> reList = lists.Where<Person>( param => param.age >= 20 && param.age<= 30 ) ;  
  30.   
  31.             foreach( Person per in reList )  
  32.             {  
  33.                 Console.WriteLine( per.name +  "  " + per.age ) ;  
  34.             }  
  35.             //結(jié)果 aladdin jacky   
  36.   
  37.             //其實(shí)Linq一般的查詢,是可以直接寫where select 等語(yǔ)句來(lái)實(shí)現(xiàn),系統(tǒng)編譯時(shí),會(huì)自動(dòng)將他轉(zhuǎn)化成擴(kuò)展方法的調(diào)用   
  38.             var query = from r in lists where r.age >= 20 && r.age <= 30 select r;  
  39.   
  40.             foreach( Person per in query )  
  41.             {  
  42.                 Console.WriteLine( per.name +  "  " + per.age ) ;  
  43.             }  
  44.   
  45.             //linq語(yǔ)句必須是以from開頭,以select 或者 group結(jié)尾巴   
  46.             //注意,query變量,只是指定了一個(gè)查詢方式,并沒(méi)有執(zhí)行,真正的執(zhí)行其實(shí)是在foreach時(shí)才產(chǎn)生的   
  47.   
  48.             //推遲查詢的執(zhí)行   
  49.             //推遲查詢的執(zhí)行也就是說(shuō)查詢是在跌代時(shí)才執(zhí)行的,不是var query中,下面我們來(lái)用代碼證實(shí)   
  50.   
  51.             Console.WriteLine( "增加新內(nèi)容后的輸出--------------") ;  
  52.             lists.Add( new Person( "newaladdin" , 22 ) ) ;  
  53.             //我們?cè)黾恿艘粋€(gè)新對(duì)象,22歲,明顯是符合條件的,下面我們二次跌代   
  54.             foreach( Person per in query )  
  55.             {  
  56.                 Console.WriteLine( per.name +  "  " + per.age ) ;  
  57.             }  
  58.             //可以看出,第二次跌代完全可以接觸到新對(duì)象,而我們并沒(méi)有定義新的query 這就是推遲查執(zhí)行   
  59.   
  60.   
  61.             Console.ReadLine() ;  
  62.         }  
  63.   
  64.         class Person  
  65.         {  
  66.             public string name ;  
  67.             public int age ;  
  68.   
  69.             public Person( string name , int age )  
  70.             {  
  71.                 this.name = name ;  
  72.                 this.age = age ;  
  73.             }  
  74.         }  
  75.     }  
  76. }  

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    日韩偷拍精品一区二区三区| 精品少妇人妻一区二区三区| 欧美成人一区二区三区在线 | 儿媳妇的诱惑中文字幕| 加勒比人妻精品一区二区| 好吊妞视频只有这里有精品| 亚洲乱码av中文一区二区三区| 在线观看国产午夜福利| 亚洲精品一二三区不卡| 国产性色精品福利在线观看| 女人精品内射国产99| 一区二区三区四区亚洲另类| 国产精品亚洲精品亚洲| 美女黄片大全在线观看| 九九热视频免费在线视频| 正在播放国产又粗又长| 日本亚洲欧美男人的天堂| 99一级特黄色性生活片| 欧美一区日韩一区日韩一区| 日韩免费成人福利在线| 中文字幕日韩一区二区不卡| 插进她的身体里在线观看骚| 国产精品内射婷婷一级二级| 护士又紧又深又湿又爽的视频| 91精品国自产拍老熟女露脸| 日本欧美视频在线观看免费| 午夜福利黄片免费观看| 中文精品人妻一区二区| 国产av一区二区三区久久不卡| 夫妻性生活一级黄色录像| 亚洲伦理中文字幕在线观看| 97人摸人人澡人人人超碰| 日本高清一区免费不卡| 欧美精品日韩精品一区| 亚洲婷婷开心色四房播播| 国产精品免费视频久久| 91亚洲国产日韩在线| 亚洲av首页免费在线观看| 日韩中文字幕人妻精品| 中文字幕一区二区三区大片| 在线观看免费午夜福利|