Presentation is loading. Please wait.

Presentation is loading. Please wait.

LINQ資料查詢技術.

Similar presentations


Presentation on theme: "LINQ資料查詢技術."— Presentation transcript:

1 LINQ資料查詢技術

2 Language-Integrated Query (LINQ)簡介
對Array、List、DataSet、XML、或SQL Server查詢指定資料的語言(類似 SQL語法) 必須使用C# 2008與 .Net framework 3.5以上版本 語法 如: IEnumerable<int> scoreQuery = from score in scores where score > 80 select score;

3 可查詢的對象 實作IEnumerable或IEnumerable<T>介面的集合物件,如Array、List 等 Object
DataTable, DataSet XML SQL Array

4 查詢Array

5 練習11-1 請完成上一頁投影片的程式碼

6 查詢Object

7 練習11-2 請完成上一頁投影片的程式碼

8 查詢DataTable DataTable

9 練習11-3 請完成上一頁投影片的程式碼

10 隱含型別 不須在程式中明確指定資料型別,編譯器會在編譯時才指定型別。 其型別由等號右邊的值型別所決定
使用 var 變數有個基本前提:一定要給初始值。否則編譯時會出 現錯誤:Implicitly-typed local variables must be initialized。 int i = 10; var j = 10;

11 匿名型別 匿名型別提供便利的方式將唯讀屬性集封裝至單一物件,而不必 先明確定義型別。 型別名稱是由編譯器產生。 每個屬性的型別 是由編譯器推斷。您可以使用 new 運算子搭配物件初始設定式來 建立匿名型別。 result的型別是<>f__AnonymousType0`2[System.Int32,System.String] result裡面有兩個屬性,第一個型別為System.Int32,第二個型別為 System.String,這就是上面所說,屬性的型別由編譯器推斷。 result的型別是<>f__AnonymousType0`2[System.Int32,System.String]這樣的東西,這是編譯器所產生的型別名稱,可以當做是暫時產生的名字,因為一出方法界限,又或者可以說這個變數的生命週期結束,這個型別就失去『使用上』的意義。 匿名型別與其他的reference type並無不同。從型別名稱上還可以看到,裡面有兩個屬性,第一個型別為System.Int32,第二個型別為System.String,這就是上面所說,屬性的型別由編譯器推斷。

12 練習11-4 請完成上一頁投影片的程式碼,並觀察result 及 result.ID和 result.Name的資料型態

13 查詢Object以var修改

14 練習11-5 請完成上一頁投影片的程式碼

15 查詢DataTable以var修改

16 練習11-6 請完成上一頁投影片的程式碼


Download ppt "LINQ資料查詢技術."

Similar presentations


Ads by Google