Linq委托实例化浅谈

开发 后端
这里介绍Linq委托实例化,委托可以理解为一个函数指针,它定义了一个函数的原型,委托可以方便我们在程序运行时动态决定对象的行为。

在向大家详细介绍Linq委托实例化之前,首先让大家了解下委托的定义,然后全面介绍Linq委托实例化。

委托的定义:

  1. delegate string ProcessString( string input ); 

委托可以理解为一个函数指针,它定义了一个函数的原型

Linq委托实例化和使用:

  1. ProcessString p = new ProcessString( LowerIt );  
  2. //委托的实例化就是将委托变量指向一个符合委托原型的实际方法  
  3.  
  4. foreach (string name in foxRiver8)  
  5. {  
  6. Console.WriteLine( p ( name ) );  
  7. //此时的 p 实际上就是 LowerIt() 方法  

Linq委托实例化指向一个符合委托原型的实际方法:

  1. private string LowerIt  
  2. (string input)  
  3. {  
  4. return input.ToLower();  

小结:
◆委托可以看作是托管版本的函数指针
◆委托只对方法的原型(签名)进行约束
◆委托可以方便我们在程序运行时动态决定对象的行为

委托和接口有什么区别?
◆委托约束单一方法
◆接口约束的内容更加丰富

我们在以前的课程中学习过哪些接口或委托?
IHttpHandler 是一个接口
AutoComplete 控件中的 ServiceMethod 可以看作是一个委托,两者的具体原型请参考Y2的  ASP.NET 课程 和 AJAX 课程

【编辑推荐】

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

2009-09-08 09:48:34

LINQ初始化数组

2009-09-14 15:50:52

Linq匿名委托类型

2009-09-09 15:44:22

Linq DataCo

2009-09-15 16:31:15

LINQ Custom

2009-09-11 11:25:35

LINQ函数集合

2009-09-10 11:29:00

LINQ to SQL

2009-09-10 15:45:07

Linq使用Selec

2009-09-16 11:15:52

Linq联接数据

2009-09-14 09:49:08

Linq扩展函数

2009-09-07 17:32:14

LINQ检索数据

2009-09-08 15:19:52

Linq Where操

2009-09-15 11:08:01

LinQ调用存储过程

2009-09-14 15:45:28

LINQ删除XML节点

2009-06-18 10:07:44

LINQ to ACC

2009-09-09 11:07:52

LINQ to SQL

2009-09-14 13:30:04

Linq数据和对象

2009-09-08 16:55:01

Linq实现XML转换

2009-09-11 10:01:57

Linq对象初始值

2009-09-14 14:01:21

LINQ泛型数据集

2009-09-09 13:01:33

LINQ Lambda
点赞
收藏

51CTO技术栈公众号