首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 3.0 入門系列(一)

     編輯:關於C語言

談到 DLINQ,不得不先說 LINQ。讓我們先看看什麼是 LINQ。LINQ 是 Language Integrated Query 的縮寫。事實上 DLINQ 就是 Database Language Integrated Query 的縮寫。LINQ 和 DLINQ 最大區別在於 LINQ 是對記憶體操作,而 DLINQ 的操作對象為資料庫。

先來看一個 LINQ 範例。在此之前,您需要安裝 VS2008 Beta 2 版本。可至 https://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx 下載。若您的機器是 VS2005 英文版,還需安裝 LINQ Preview 版本,可至 https://www.microsoft.com/downloads/details.aspx?familyid=1e902c21-340c-4d13-9f04-70eb5e3dceea&displaylang=en 下載。

微軟也提供許多學習資源,先給幾個連結:

  • https://msdn.microsoft.com/data/ref/linq/
  • https://msdn.microsoft.com/data/ref/linq/default.aspx?pull=/library/en-us/dndotnet/Html/linqprojectovw.aspx
  • https://msdn.microsoft.com/vcsharp/future/

好,來看一個 LINQ 範例(從 LINQ 說明文件獲得):

using System;
using System.Query;
using System.Collections.Generic;

class app
{
    static void Main()
    {
        string[] names = { "Burke", "Connor", "Frank",
            "Everett", "Albert", "George",
            "Harris", "David" };

        IEnumerable<string> expr = from s in names
            where s.Length == 5
            orderby s
            select s.ToUpper();

        foreach (string item in expr)
            Console.WriteLine(item);
    }
}

您可能感覺陌生。放心,這大概是第一次看到的緣故。這裡的 from、where、orderby、select 都是 LINQ 保留字,應該用藍色顯示,但部落格尚不支援。其實查詢運算式看起來很像 SQL 語句,如 select * from table1 where column1 = ""。我第一次看到 LINQ 時,就感覺是寫在程式裡的 SQL 語句。以前我們用 string 類型組成 SQL 語句,再透過 Command 或 Adapter 傳給 SQL Server。現在感覺像把 SQL 直接當程式碼實現,這只是錯覺。

這個範例只是從字串陣列中提取長度為 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