LINQ基礎全面概述
在向大家詳細介紹LINQ基礎之前,首先讓大家了解下LINQ 的歷史和LINQ是什么,然后全面介紹LINQ基礎。
LINQ 的歷史
最初由 Anders Hejlsberg 構(gòu)思,最初的研究計劃稱為 Cω
2005年9月 – 第一個為 C# 2.0 開發(fā)的技術預覽版在當年的 PDC(微軟開發(fā)者大會)上發(fā)布
2005年11月 – 更新至社區(qū)預覽版(C# 2.0)
2006年1月 – 第一個為 VB 8.0 開發(fā)的技術預覽版發(fā)布
2007年11月19日 – LINQ作為 .NET Framework 3.5 的一部分正式發(fā)布
LINQ是什么
◆LINQ( Language Integrated Query )即語言集成查詢
◆LINQ 是一組語言特性和API,使得你可以使用統(tǒng)一的方式編寫各種查詢。查詢的對象包括XML、對象集合、SQL Server 數(shù)據(jù)庫等等。
LINQ基礎——主要包含以下六個部分:
◆LINQ to Objects 主要負責對象的查詢
◆LINQ to XML 主要負責 XML 的查詢
◆LINQ to ADO.NET 主要負責數(shù)據(jù)庫的查詢
◆LINQ to SQL
◆LINQ to DataSet
◆LINQ to Entities
LINQ 基礎組成:
對象 和 LINQ to SQL 查詢.NET Language Integrated Query包括:
◆LNIQ to Objects
◆LINQ to ADO.NET
◆LINQ to XML
LINQ 初體驗
在沒有LINQ以前,我們這樣查詢:
- //從 numbers 數(shù)組中提取偶數(shù)并降序排列
- int[] numbers = new int[] { 6, 4, 3, 2, 9, 1, 7, 8, 5 };
- List<int> even = new List<int>();
- foreach (int number in numbers)
- {
- if (number % 2 == 0)
- {
- even.Add(number);
- }
- }
- even.Sort();
- even.Reverse();
有了LINQ! 我們這樣查詢:
- //從 numbers 數(shù)組中提取偶數(shù)并降序排列
- int[] numbers = new int[] { 6, 4, 3, 2, 9, 1, 7, 8, 5 };
- var even = numbers
- .Where(p => p % 2 == 0)
- .Select(p => p)
- .OrderByDescending(p => p);
- //代碼分析:
- int[] numbers = new int[]
- { 6, 4, 3, 2, 9, 1, 7, 8, 5 };
- var even = numbers
- .Where( p => p % 2 == 0 )
- .Select( p => p )
- .OrderByDescending( p => p );
- //var推斷類型
- //.Select擴展方法
【編輯推薦】