程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C# 3.0入門系列(一)

C# 3.0入門系列(一)

編輯:關於C#

談到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的語法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved