LINQ簡記(1):基本文法

來源:互聯網
上載者:User

 

關於LINQ(Language-integrated Query (LINQ))是.NET 3.5和Visual Studio 2008以上版本中引入的一種有趣的全新概念,語言版本有VB和C#,由於C#與.NET平台結合最為緊密,也是MS當初首推的語言,因此,本系列文章的範例程式碼都使用C#。 MSDN上資料非常詳細和完備,所以,我也不打算講得過於詳盡,再說,網上也有不少博文都闡述過LINQ,如果我還炒冷飯,就有抄襲之嫌。其實,很多時候我們不必要到處去搜,到處去問人,MSDN上的參考文檔已經很優秀了,而且還有多語言版本,也請了牛B人物進行人工翻譯,所以說啊,咱們.NET開發人員是非常幸運的,一來有VS這個世界級領先的開發工具(目前不好的一點是效能,據說微軟正在努力解決),微軟一直都希望其產品福士化,市場化,我們也看到了這個大巨頭在努力完善;二來,擁有MSDN這麼神奇的參考文檔。我們完全有理由相信,真的是幸運的,Jdk沒有這麼詳細完備的文檔,更別說中文版;PHP也沒有如此強勁的參考文檔,難道,我們不應該認為,使用.NET是最輕鬆的嗎? 噢,廢話說得多了一點,還是不說了,迴歸正題。好的,開門見山,先說說LINQ有些啥好處,相信很多人都會先問這個問題。SQL語句我想各位不會陌生了,在企業級應用項目中,我們是無法避免與資料庫打交道,同時也說明,我們避不開要寫SQL語句,這樣一來,你又要抽出N多時間去學習SQL的文法和相關知識,或者,你們團隊會找人專門搞資料庫,或者你一個人擔起這個艱巨的任務。XQurey和XPath聽過了吧,我想,很多人都用過,就算不用你也肯定聽過的,除非你是當年參加抗日戰爭的老兵。好了,這時候又說要用XML查詢了,你又要抱著一本厚厚的書去學習XML查詢,你累不累? 有了LINQ就不一樣了,敏捷開發自然需要一些新玩意兒來提高效率,這時候,你就爽歪歪了,改革開放的春風吹遍大江南北,LINQ的暖流也可以讓我們把編程變成一種享受而不是體力活。 要幹好LINQ就得從文法開始,其實和SQL很像,後面你會發現的,總體的文法規則可以歸為下面兩句話:1、以from打頭;2、以select子句或group子句結尾。 是不是這樣呢?少吹牛,一起來動手實踐一下。啟動VS,建立一個項目,項目類型你喜歡。要操作資料,自然少不了資料來源,當然這裡簡單的樣本,就沒必要用資料庫了。輕鬆一點,我們來一個簡單的整型數組。
        int[] mySource = new int[] { 20, 35, 15, 16, 72, 64, 58, 73, 99, 48 };

現在,我們把大於等於50的整數篩選出來。

            IEnumerable<int> result =                from n in mySource                where n >= 50                select n;            Console.WriteLine(">= 50 的數字如下:");            foreach (int i in result)            {                Console.Write("\t{0}", i);            }

運行一下,我們可以看到結果如下:

好了,LINQ的基本文法就說到這裡,更複雜的文法,會在後面系列文章中聊。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.