在向大家详细介绍LINQ基础之前,首先让大家了解下LINQ 的历史和LINQ是什么,然后全面介绍LINQ基础。
LINQ 的历史
最初由 Anders Hejlsberg 构思,最初的研究计划称为 Cω
2005年9月 – 第一个为 C# 2.0 开发的技术预览版在当年的 PDC(微软开发者大会)上发布
2005年11月 – 更新至社区预览版(C# 2.0)
2006年1月 – 第一个为 VB 8.0 开发的技术预览版发布
2007年11月19日 – LINQ作为 .NET Framework 3.5 的一部分正式发布
LINQ是什么
◆LINQ( Language Integrated Query )即语言集成查询
◆LINQ 是一组语言特性和API,使得你可以使用统一的方式编写各种查询。查询的对象包括XML、对象集合、SQL Server 数据库等等。
LINQ基础——主要包含以下六个部分:
◆LINQ to Objects 主要负责对象的查询
◆LINQ to XML 主要负责 XML 的查询
◆LINQ to ADO.NET 主要负责数据库的查询
◆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 数组中提取偶数并降序排列
- 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 数组中提取偶数并降序排列
- 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扩展方法
【编辑推荐】