Linq匿名委托类型

开发 后端
这里介绍Linq匿名委托类型,包括LINQ可以方便且直观地类SQL形式操纵IEnumerable集合和数据。更激动人心的是C#一贯的风格,层层解构,LINQ语法可以用C#基本语法来解释。

在向大家详细介绍Linq匿名委托类型之前,首先让大家看下LINQ示例,然后全面介绍Linq匿名委托类型。

先来看一个LINQ示例:

  1. using System;  
  2. using System.Query;  
  3. using System.Collections.Generic;  
  4.  
  5. class app ...{  
  6. static void Main() ...{  
  7. string[] names = ...{ "Burke", "Connor", "Frank",   
  8. "Everett", "Albert", "George",   
  9. "Harris", "David" };  
  10.  
  11. IEnumerable expr = from s in names   
  12. where s.Length == 5  
  13. orderby s  
  14. select s.ToUpper();  
  15.  
  16. foreach (string item in expr)  
  17. Console.WriteLine(item);  
  18. }  
  19. }  

编译并运行,将输出:
◆BURKE
◆DAVID
◆FRANK

看呐!MS无疑给第三方ORM框架沉重一击,LINQ可以方便且直观地类SQL形式操纵IEnumerable集合和数据。更激动人心的是C#一贯的风格,层层解构,LINQ语法可以用C#基本语法来解释。支持LINQ,用到:

Linq匿名委托类型(方法/函数)

C#2语法,省略委托类型定义。

◆Func:一种委托类型,一般用匿名委托赋值

◆扩展表达式:含this指针的静态类的静态函数,其中一个参数用this修饰,另一个参数是Func类型。可用实例方法的形式调用。一般用点操作符串联调用。

◆λ表达式:Expression类可以解析λ表达式。匿名委托实例化的简化形式,类似于这种形式:n=>n > 5;其中n是参数。

◆yield:例:yield return i,延迟返回计算结果。

◆对象设值实例化:命名属性初始化,调用setter方法用命名参数初始化成员变量。用于实例ORM中对象属性与字段名的映射。集合初始化也可用数组初始化语法。

◆匿名类型:引入var关键字,根据初始化表达式,编译器智能判断声名的变量所属类型,看起来越来越像脚本语言了。

以上介绍Linq匿名委托类型,希望微软的天才们带领C#越走越远。

【编辑推荐】

  1. LINQ查询操作剖析
  2. LINQ生成字符串概述
  3. LINQ查询语法简单描述
  4. LINQ解决方案简单概述
  5. LINQ查询结果分析
责任编辑:佚名 来源: IT168
相关推荐

2009-09-10 14:37:57

LINQ匿名类型

2009-09-10 14:21:58

LINQ匿名类型

2009-09-17 11:35:40

Linq匿名类型

2009-09-11 10:16:07

Linq匿名类型

2009-09-18 16:32:51

Linq委托实例化

2009-09-10 13:24:36

Linq参数类型

2009-09-07 16:44:28

Linq String

2009-08-10 17:25:58

C#匿名类型

2009-09-08 14:56:55

强类型DataContLinq to SQL

2009-08-26 15:46:01

C#匿名类型

2009-09-17 13:05:38

Linq局部变量类型

2009-09-01 10:58:46

C#匿名类型对象

2009-08-27 10:19:22

C#匿名类型

2009-09-08 16:36:10

LINQ查询基于泛型类

2009-04-24 09:33:12

LINQ查询非泛型

2009-09-11 10:07:05

Linq隐式类型化局部

2011-11-24 21:05:44

ibmdw

2009-09-08 17:01:54

Linq源元素

2009-09-14 18:57:19

LINQ查询

2009-09-08 15:28:24

C#委托
点赞
收藏

51CTO技术栈公众号