Transcript LINQ 語法簡介
LINQ 語法簡介 設計人:顏嘉君 LINQ 概觀 Language-Integrated Query Anders Hejlsberg微軟首席架構師發起 程式語言內建 query 架構 語言層級 技術類型 資料來源類型 語言層級 C# VB C# 3.0 VB 9.0 其他程式語言 技術類型 LINQ to Object LINQ to ADO.NET LINQ to DataSet LINQ to SQL LINQ to XML 資料來源類型 物件:集合, 陣列,字串等 關連資料庫 DataSet XML LINQ 優點 可以用單一且一致的LINQ語法查遍所有 資料來源 利用.NET資源 編譯時期的語法檢查,可以及早發現錯誤, 不像SQL語法要到執行期才能發現。 強制型別檢查,可以事先檢查資料型態是 否相符 VS 2008 的支援 IEnumerable, IEnumerator IEumerable GetEnumerator IEnumerator MoveNext Reset System.Linq 命名空間 類別 Eumerable Lookup Queryable 介面 IGouping ILookup IOrderedEnumerable IOrderedQueryable, IOrderedQueryable<T> IQueryable, IQueryable<T> IQueryProvider Enumerable 擴充方法 過濾 OfType Where 投影 Select SelectMany 群組 GroupBy ToLookUp Enumerable 擴充方法(二) 排序 OrderBy, OrderByDescending ThenBy, ThenByDescending 彙總 Aggregate Average Count LongCount Max Min Sum Enumerable 擴充方法(三) 關連 Join GroupJoin 集合 Distinct Except Intersect Union Enumerable 擴充方法(四) 建構 DefaultEmpty Empty Range Repeat 檢核 All Any Contains Enumerable 擴充方法(五) 擷取 Skip, SkipWhile Take, TakeWhile 單一元素 First, FirstOrDefault Last, LastOrDefault ElementAt, ElementAtOrDefault Single, SingleOrDefault Enumerable 擴充方法(六) 轉換 AsEnumerable ToArray ToList ToDictionary ToLookup Cast OfType