Linq匿名类型简单概述

开发 后端
这里介绍Linq匿名类型提供了函数式程序语言的能力,语法显得很简洁。Lambda表达式提供了一个更简洁的语法来写匿名方法。

LINQ有很多值得学习的地方,这里我们主要介绍Linq匿名类型,包括介绍Lambda表达式等方面。

LINQ使查询成为了.NET中头等的编程概念,被查询的数据可以是XML(LINQ to XML)、Databases(LINQ to SQL、LINQ to Dataset、LINQ to Entities)和对象(LINQ to Objects)。LINQ也是可扩展的,允许你建立自定义的LINQ数据提供者(比如:LINQ to Amazon、LINQ to NHibernate、LINQ to LDAP)。在这里我会讨论C#3.0中的一些新的语言特性和改进,正是它们使得LINQ变得如此强大~~

Linq匿名类型

这个语言特性让我们可以定义内嵌的类型,而不需要显式地定义一个类型。换句话说,假设我们没有定义Point 类,却要使用一个Point 对象(即类型是匿名的)。我们可以使用上面提到的对象初始化语法,但不用指定类型名:

  1. var p = new{X = 0Y = 2}; 

在VS2008中,你仍然可以使用智能感应。所以如果你继续使用变量p,就会得到这个Linq匿名类型的属性列表。

Lambda表达式

在 C#2.0中引入了匿名方法,允许在需要委托的地方写一个代码块。Linq匿名类型提供了函数式程序语言的能力,语法显得很简洁。Lambda表达式提供了一个更简洁的语法来写匿名方法。一个Lambda表达式就是一个参数列表(可以隐式类型),然后是一个=>符号,然后是一个表达式或者一个语句块。

作为一个示例,我们定义一个委托类型MyDeleg :

  1. MyDeleg<int,bool>   
  2. IsPositive = delegate(int num) {   
  3. return num > 0;   
  4. }; 

我们也可以使用新的Lambda表达式来写:

  1. MyDeleg<int ,bool> 
  2. IsPositive = num => num > 0; 

【编辑推荐】

  1. Linq查询二维数组浅析
  2. 学习Linq经验总结
  3. Linq修改XML文档描述
  4. Linq延时执行全面分析
  5. Linq实现Left join
责任编辑:佚名 来源: IT168
相关推荐

2009-09-11 10:16:07

Linq匿名类型

2009-09-10 14:21:58

LINQ匿名类型

2009-09-14 15:50:52

Linq匿名委托类型

2009-09-10 14:37:57

LINQ匿名类型

2009-09-10 16:28:17

LINQ查询

2009-09-15 13:53:53

Linq To Sql

2009-09-10 13:13:47

Linq Func<T

2009-09-09 16:07:16

Linq实体关系

2009-09-15 13:37:24

Linq To Sql

2009-09-14 10:54:07

LINQ解决方案

2009-09-11 09:53:16

Linq查询表达式

2009-08-27 10:19:22

C#匿名类型

2009-09-10 11:10:21

Linq Librar

2009-09-10 13:42:47

Linq UserIn

2009-09-18 13:44:38

LINQ设计模式

2009-09-16 17:21:53

LINQ遍历

2009-09-14 09:55:55

Linq基本语法

2009-09-11 12:13:40

LINQ to SQL

2009-09-14 15:15:45

LINQ技术

2009-09-08 11:25:42

Linq foreac
点赞
收藏

51CTO技术栈公众号