C# 3.0 入門系列(一)

來源:互聯網
上載者:User
談到dlinq,就不得不先說linq。讓我們先看看什麼是linq。linq是 Language Integrated Query的縮寫。那麼事實上dlinq就是 Database Language Integrated Query 的縮寫。linq和dlinq最大的區別就在與linq是對記憶體進行操作,而dlinq的操作對象為資料庫。
我們先來看一個linq的例子。在這之前,你需要安裝s2008 beta2版本。可以到
 http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx 下載。如果,你的機器上是vs2005的英文版,你還需要安裝一個linq preview版本。你可以到下面地址去下載。
http://www.microsoft.com/downloads/details.aspx?familyid=1e902c21-340c-4d13-9f04-70eb5e3dceea&displaylang=en
微軟也提供了好多學習的地方。先給出幾個鏈結。
http://msdn.microsoft.com/data/ref/linq/
http://msdn.microsoft.com/data/ref/linq/default.aspx?pull=/library/en-us/dndotnet/html/linqprojectovw.asp
http://msdn.microsoft.com/vcsharp/future/

好,我們先來看一個linq的例子。這個例子可以從linq的說明文檔上得到。the linq sample
 1using System;
 2using System.Query;
 3using System.Collections.Generic;
 4
 5class app {
 6  static void Main() {
 7    string[] names = { "Burke", "Connor", "Frank", 
 8                       "Everett", "Albert", "George", 
 9                       "Harris", "David" };
10
11    IEnumerable<string> expr = from s in names 
12                               where s.Length == 5
13                               orderby s
14                               select s.ToUpper();
15
16    foreach (string item in expr)
17      Console.WriteLine(item);
18  }
19}
20

你可能感覺比較陌生。放心,這大概是第一次看到緣故。在這裡像 from ,where,orderby, select等都是linq的保留字,都該用藍色顯示的,但是好像cnblogs還沒有開始支援。所以插入代碼時,他們就被當作一般字元了。

其實,query expression看起來和sql語句很像。 比如 select * from table1 where column1 = "";
我第一次看到linq時,就感覺是寫在程式裡的sql語句。只不過,以前我們都是用string類型形成一個sql語句,然後通過command或adapter傳到sql server中。而現在,感覺就像把sql語句直接當成程式碼來實現。這隻不過是我們的一個錯覺。

這個例子,只不過是從一個string的數組中,提取出長度為5的,並且把提取的資料全部變成大寫。IEnumerable<string> 使用到了c#2.0中的泛型。 該列子的結果,返回一個資料集,存放到expr中。 在這裡,從那個資料集中取的結果,是用in 表達的,如列所示,from s in names , 在names集合中,取出s。s代表一條條紀錄。where 表示條件,orderby 表示按什麼排序。select 選擇那些欄位組成變數。這裡,你可能會覺得奇怪,s變數在那裡聲明的呢。我第一看到這裡的時候,也感到奇怪。其實s變數是names變數裡的元素,你在in names 時,已經聲明了s變數。

在這個列子中,大家可以先感受一下linq,在隨後的章節中,我會為大家介紹更多。對記憶體數組的查詢,並不能顯示出linq的強大功能,對資料庫的操作,才使得linq更加具有實際意義。在隨後的章節中,我將逐漸介紹dlinq的文法。
http://www.cnblogs.com/126/archive/2006/08/14/476800.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.