Linq Library概述

开发 后端
这里介绍Linq Library,Linq是一个语言层级的查询语法Library,她可以让我们以类SQL语法的方式来查询语言中的变数。

本文向大家介绍Linq Library,可能好多人还不了解Linq Library,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

PDC 05上揭露了C# 3.0及Linq Project,什么是Linq呢?简单的说,Linq是一个语言层级的查询语法Library,她可以让我们以类SQL语法的方式来查询语言中的变数,例如阵列,Collections.以实例来说:

static void ObjectQuery()  
{  
var people = new List ()  
{  
new Person { Age=12Name="Bob" },  
new Person { Age=18Name="Cindy" },  
new Person { Age=13 }  
};  
var teenagers = from p in people where p.Age > 12 && p.Age < 20 select p;  
Console.WriteLine("Result:");  
foreach(var val in teenagers)  
{  
Console.WriteLine("> Name = {0}, Age = {1}", val.Name, val.Age);  
}  
Console.ReadLine();}  
 
class Person  
{  
public int Age;  
public string Name;  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

Person是一个类别,ObjectQuery函式中以Generic List建立了一个Person的Collection,此处的var型别是C# 3.0新增的型别,从语言面来看,这个型别可以被指定为任何型别,就像是Variant一样,从Complier面来看,它是一个Lazy- determine型别,由Complier于编译期间来决定真正的型别,接下来的奇特语法就是Linq.

var teenagers = from p in people where p.Age > 12 && p.Age < 20 select p; 
  • 1.

是不是觉得很像SQL呢?这段程式码的意思是,由people中选出Age大于12小于20的元素,除了这种简单的查询之外,Linq也支援Join,Distinct等语法.

基本上Linq只是一组Library,C# 3.0及VB.NET 9.0的Complier利用了这个Library来实现上面的新语法,所有的特殊语法都会被编译器编成使用Linq Library的程式.

【编辑推荐】

  1. LINQ Expression tree分析
  2. Linq调用数据访问服务
  3. Linq实体继承简单描述
  4. Linq DataContext浅谈
  5. Linq DataLoadOptions描述
责任编辑:佚名 来源: IT168
相关推荐

2009-09-10 13:42:47

Linq UserIn

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-18 16:20:36

LINQ基础

2009-09-18 13:44:38

LINQ设计模式

2009-09-16 17:21:53

LINQ遍历

2009-09-14 15:15:45

LINQ技术

2009-09-10 16:28:17

LINQ查询

2009-09-14 09:55:55

Linq基本语法

2009-09-11 12:13:40

LINQ to SQL

2009-09-17 11:35:40

Linq匿名类型

2009-09-15 13:37:24

Linq To Sql

2009-09-15 11:29:04

LINQ to SQL

2009-09-09 16:01:21

Linq实体继承使用

2009-09-09 16:07:16

Linq实体关系

2009-09-11 10:38:03

LINQ体系结构

2009-09-18 16:12:22

LINQ TO SQL

2009-09-11 10:16:07

Linq匿名类型

2009-09-17 16:46:34

Linq to sql
点赞
收藏

51CTO技术栈公众号