LINQ基础全面概述

开发 后端
这里主要是LINQ基础的介绍,包括LINQ的历史、LINQ是什么、LINQ基础组成、Linq主要包含部分和简单的Linq例子。

在向大家详细介绍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以前,我们这样查询:

  1. //从 numbers 数组中提取偶数并降序排列  
  2. int[] numbers = new int[] { 6, 4, 3, 2, 9, 1, 7, 8, 5 };  
  3. List<int> even = new List<int>();  
  4. foreach (int number in numbers)  
  5. {  
  6. if (number % 2 == 0)  
  7. {  
  8. even.Add(number);  
  9. }  
  10. }  
  11.  
  12. even.Sort();  
  13. even.Reverse(); 

有了LINQ! 我们这样查询:

  1. //从 numbers 数组中提取偶数并降序排列  
  2. int[] numbers = new int[] { 6, 4, 3, 2, 9, 1, 7, 8, 5 };  
  3. var even = numbers 
  4. .Where(p => p % 2 == 0)  
  5. .Select(p => p)  
  6. .OrderByDescending(p => p);  
  7.  
  8. //代码分析:  
  9. int[] numbers = new int[]  
  10.  { 6, 4, 3, 2, 9, 1, 7, 8, 5 };  
  11.  
  12. var even = numbers 
  13. .Where( p => p % 2 == 0 )  
  14. .Select( p => p )  
  15. .OrderByDescending( p => p );  
  16. //var推断类型  
  17. //.Select扩展方法 

【编辑推荐】

  1. Linq匿名类型简单概述
  2. Linq随机读取数据浅析
  3. Linq Lambda表达式全面分析
  4. Linq扩展方法简单分析
  5. 初探Linq局部变量类型
责任编辑:佚名 来源: IT168
相关推荐

2009-09-16 17:21:53

LINQ遍历

2009-09-11 12:13:40

LINQ to SQL

2009-09-10 13:42:47

Linq UserIn

2009-09-10 11:10:21

Linq Librar

2009-09-18 16:07:10

Linq Where操

2009-09-08 16:08:44

Linq使用order

2009-09-08 11:25:42

Linq foreac

2009-09-17 13:15:20

LINQ查询

2009-09-16 10:38:43

LINQ查询

2009-09-18 13:44:38

LINQ设计模式

2009-09-10 16:28:17

LINQ查询

2009-09-14 09:55:55

Linq基本语法

2009-09-14 15:15:45

LINQ技术

2009-09-11 10:38:03

LINQ体系结构

2009-09-15 11:29:04

LINQ to SQL

2009-09-18 16:12:22

LINQ TO SQL

2009-09-09 16:01:21

Linq实体继承使用

2009-09-17 11:35:40

Linq匿名类型

2009-09-09 16:07:16

Linq实体关系

2009-09-11 10:16:07

Linq匿名类型
点赞
收藏

51CTO技术栈公众号