LINQ 提供一種統一的方式,讓我們能在C#語言中直接查詢和操作各種數據。
LINQ是用來描述數據訪問總體方式的術語。LINQ to Object是針對實現了IEnumerable<T>的對象的LINQ;LINQ to SQL是針對關系數據庫的LINQ;LINQ to XML是針對XML文檔的LINQ。
LINQ除了提供一個統一的API來操作各種數據,並且為我們提供了編譯時類型檢查和動態創建查詢表達式的能力。
局部變量用var, 指示編譯器根據初始化語句右側的的表達式推測它的類型
用途:
var an=new {name=“tom”,age=18};
var an=linq 語句;
public string FirstName{get;set ;}
Point p = new Point { X = 10, Y = 20 };
var person = from a in list select new { name=a.FirstName};
var worker = new { FirstName = "Vincent", LastName = "Ke", Level = 2 };
匿名類型使用new 運算符和對象初始值設定項創建的
匿名類型通常在查詢表達式的select 字句中
匿名類型是有一個或多個公共只讀 屬性組成的類型,沒有其他成員(方法、事件)
匿名類型是直接從對象派生的引用類型,編譯器會提供一個名稱
如果多個匿名類型有相同屬性(順序、個數、類型),編譯器將這些匿名類型視為相同類型
List<int> evenNumbers = list.FindAll(i => (i % 2) == 0);
格式:
(參數列表)=>表達式或語句塊
(x,y)=>x*y //多參數,隱式類型=>表達式
x=>x*10 //單參數,隱式類型=>表達式
X=>{return x*8} //單參數,隱式類型=>語句塊
(int i)=>x*8 //單參數,顯示類型=>表達式
LINQ體驗(4)——LINQ簡介和LINQ to SQL語句之Where
單條件 多條件 First()形式
LINQ體驗(5)——LINQ to SQL語句之Select/Distinct和Count/Sum/Min/Max/Avg
LINQ體驗(6)——LINQ to SQL語句之Join和Order By
LINQ體驗(7)——LINQ to SQL語句之Group By/Having和Exists/In/Any/All/Contains
LINQ體驗(8)——LINQ to SQL語句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods
LINQ體驗(9)——LINQ to SQL語句之Insert/Update/Delete操作
LINQ體驗(10)——LINQ to SQL語句之開放式並發控制和事務
LINQ體驗(11)——LINQ to SQL語句之Null語義和String/DateTime方法
LINQ體驗(12)——LINQ to SQL語句之對象標識和對象加載
LINQ體驗(13)——LINQ to SQL語句之運算符轉換和ADO.NET與LINQ to SQL
LINQ體驗(14)——LINQ to SQL語句之存儲過程
LINQ體驗(15)——LINQ to SQL語句之用戶定義函數
LINQ體驗(16)——LINQ to SQL語句之DataContext
LINQ體驗(17)——LINQ to SQL語句之動態查詢
LINQ體驗(18)——LINQ to SQL語句之視圖和繼承支持