最简单的匿名方法与委托示例

 1using System;
 2
 3namespace ConsoleApplication1
 4{
 5    class Program
 6    {
 7        delegate string delegateTest(string val);
 8
 9        //被委托调用的方法
10        static string Test(string str)
11        {           
12            str += " 这是传统1.0的方法";
13            return str;
14        }
15
16        static void Main(string[] args)
17        {            
18            //匿名方法写法很简捷
19            delegateTest anonDel = delegate(string str)
20            {
21                str += " 这是C#2.0的匿名方法";
22                return str;
23            }; //注意"}"后有一个分号           
24
25            Console.WriteLine(anonDel("Hello World!"));
26
27            //传统的委托使用方法
28            delegateTest DT = new delegateTest(Test); 
29            Console.WriteLine(DT("Hello C#!"));
30            Console.ReadKey();
31        }        
32    }
33}
34
35

运行结果:

Hello World! 这是C#2.0的匿名方法
Hello C#! 这是传统1.0的方法

时间: 2024-10-26 05:54:41

最简单的匿名方法与委托示例的相关文章

C#用匿名方法定义委托的实现方法

  本文实例讲述了C#用匿名方法定义委托的实现方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 //用匿名方法定义委托 class Program { delegate string MyDelagate(string val); static void Main(string[] args) { string str1 = " 匿名方法外部 "; //中括号部分定义来了一个方法,没有名称

【转】委托、事件与匿名方法 — 学习委托最好的资料

http://www.cnblogs.com/r01cn/archive/2012/11/30/2795977.html 

了解c#2.0中的Anonymous Methods(匿名方法)

  Anonymous Methods 是 C#2.0的新特性之一,它允许我们在代码中创建一个内置的没有方法名的方法,将代码与委托实例相关联,从而使委托的实例化工作更加直观和方便,提高了代码的可读性和可维护性.下面来看一个简单的匿名方法的使用: private int[] _integers =      { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };int[] evenIntegers = Array.FindAll(_integers,                 

C#2.0语言规范(三)匿名方法

规范 第三章 匿名方法原著:Microsoft Corporation原文:http://msdn.microsoft.com/vcsharp/team/language/default.aspx (SpecificationVer2.doc)翻译:lover_P出处: -------------------------------------------------------------------------------- [内容] 3.1 匿名方法表达式 3.2 匿名方法签名 3.3 匿

C# 委托 事件 匿名方法

(*) 委托 delegate 从最简单的例子开始: namespace ConsoleApplication1 { class Program { // 委托其实就相当于一个类型.这里,类型的名字叫BinaryOp public delegate int BinaryOp(int x, int y); static public int Add(int x, int y) { return x + y; } static void Main() { // 创建一个BinaryOp类型的实例,用

编写高质量代码改善C#程序的157个建议[为泛型指定初始值、使用委托声明、使用Lambda替代方法和匿名方法]

原文:编写高质量代码改善C#程序的157个建议[为泛型指定初始值.使用委托声明.使用Lambda替代方法和匿名方法] 前言 泛型并不是C#语言一开始就带有的特性,而是在FCL2.0之后实现的新功能.基于泛型,我们得以将类型参数化,以便更大范围地进行代码复用.同时,它减少了泛型类及泛型方法中的转型,确保了类型安全.委托本身是一种引用类型,它保存的也是托管堆中对象的引用,只不过这个引用比较特殊,它是对方法的引用.事件本身也是委托,它是委托组,C#中提供了关键字event来对事件进行特别区分.一旦我们

从.NET中委托写法的演变谈开去(上):委托与匿名方法

在<关于最近面试的一点感想>一文中,Michael同学谈到他在面试时询问对方"delegate在.net framework1.1,2.0,3.5各可以怎么写"这个问题.于是乎,有朋友回复道"请问楼主,茴香豆的茴有几种写法","当代孔乙己",独乐,众乐.看了所有的评论,除了某些朋友认为"的确不该不知道这个问题"之外,似乎没有什么人在明确支持楼主. 不过我支持,为什么?因为我也提过出这样的问题. 这样,我们暂且不提应

一起谈.NET技术,从.NET中委托写法的演变谈开去(上):委托与匿名方法

在<关于最近面试的一点感想>一文中,Michael同学谈到他在面试时询问对方"delegate在.net framework1.1,2.0,3.5各可以怎么写"这个问题.于是乎,有朋友回复道"请问楼主,茴香豆的茴有几种写法","当代孔乙己",独乐,众乐.看了所有的评论,除了某些朋友认为"的确不该不知道这个问题"之外,似乎没有什么人在明确支持楼主. 不过我支持,为什么?因为我也提过出这样的问题. 这样,我们暂且不提应

高阶函数、委托与匿名方法

高阶函数(higher-order function)是指把另一个函数作为参数或返回值的函数.例如 在JavaScript语言中,Function是顶级类型.一个函数就是类型为 Function的顶级对象,自 然就可以作为另一个函数的参数或返回值.例如在Microsoft AJAX Library(ASP.NET AJAX 的客户端类库)中有一个被广泛使用的createDelegate方法.该方法接受一个对象A和一个函 数F作为参数,并返回一个函数R.当调用函 数R时,F函数将被调用,并且保证无