1.匿名方法

定义:匿名方法不能直接在类中定义,而是在给委托变量赋值的时候,需要赋值一个方法,此时可以“现做现卖”,定义一个匿名方法传递给该委托。

举实例说明:

实例一:无参数,无返回值的一个匿名方法

////首先定义一个委托

public delegate void Mydelegate();

////声明

Mydelegate md=delegate(){

Console.WriteLine("我是Andrew"); }

////调用委托

md();

实例二:有参数,无返回值的一个匿名方法

////首先定义一个委托

public delegate void Mydelegate(string msg);

////声明

Mydelegate md=delegate(string msg){

Console.WriteLine("我是Andrew"+msg); }

////调用委托

md("你是谁?");

实例三:有参数,有返回值的一个匿名方法

////首先定义一个委托

public delegate int Mydelegate(int num1,int num2);

////声明

Mydelegate md=delegate(int n1,int n2){////注意:匿名方法时,无需添加返回的类型

return n1+n2;}

////调用委托

md(1,2);  ////结果为3

2. Lambda表达式的语法格式:
     参数列表 => 语句或语句块
     其中“参数列”中可包含任意个参数(与委托对应),如果参数列中有0个或1个以上参数,则必须使用括号括住参数列,如下:
     () => Console.Write("0个参数")
     I => Console.Write("1个参数时参数列中可省略括号,值为:{0}",i)
     (x,y) => Console.Write("包含2个参数,值为:{0}*{1}",x,y)
 
实例一:无参数,无返回值的一个匿名方法

////首先定义一个委托

public delegate void Mydelegate();

////声明

Mydelegate md=()=>{

Console.WriteLine("我是Andrew"); }

////调用委托

md();

实例二:有参数,无返回值的一个匿名方法

////首先定义一个委托

public delegate void Mydelegate(string msg);

////声明

Mydelegate md=m=>{

Console.WriteLine("我是Andrew"+m); }

////调用委托

md("你是谁?");

实例三:有参数,有返回值的一个匿名方法

////首先定义一个委托

public delegate int Mydelegate(int num1,int num2);

////声明

Mydelegate md=(x,y)=>{////注意:匿名方法时,无需添加返回的类型

return x+y;}

////调用委托

md(1,2);  ////结果为3

 
 
 
 
 

C# 匿名方法及Lambda表达式的更多相关文章

  1. 从匿名方法到 Lambda 表达式的推演过程

    Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数. 通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数. 以上是msdn官网对Lambda 表达式 ...

  2. 委托学习笔记后续:泛型委托及委托中所涉及到匿名方法、Lambda表达式

    引言: 最初学习c#时,感觉委托.事件这块很难,其中在学习的过程中还写了一篇学习笔记:委托.事件学习笔记.今天重新温故委托.事件,并且把最近学习到和委托相关的匿名方法.Lambda表达式及泛型委托记录 ...

  3. C# 从CIL代码了解委托,匿名方法,Lambda 表达式和闭包本质

    前言 C# 3.0 引入了 Lambda 表达式,程序员们很快就开始习惯并爱上这种简洁并极具表达力的函数式编程特性. 本着知其然,还要知其所以然的学习态度,笔者不禁想到了几个问题. (1)匿名函数(匿 ...

  4. 委托、匿名方法、Lambda表达式的演进

    摘自:"http://www.cnblogs.com/eagle1986/archive/2012/01/19/2327358.html 假设给我们一个泛型对象List<T>,T ...

  5. 匿名方法,Lambda表达式,高阶函数

    原文:匿名方法,Lambda表达式,高阶函数 匿名方法 c#2.0引入匿名方法,不必创建单独的方法,因此减少了所需的编码系统开销. 常用于将委托和匿名方法关联,例如1. 使用委托和方法关联: this ...

  6. Fun<>,匿名方法,Lambda表达式 冒泡排序C#

    大头文 分享,进步 冒泡排序C#实现,使用委托,包括三种方式:Fun<>,匿名方法,Lambda表达式 冒泡排序是一种简单的排序方法,适合于小量数字排序,对于大量数字(超过10个),还有更 ...

  7. 泛型委托及委托中所涉及到匿名方法、Lambda表达式

    泛型委托及委托中所涉及到匿名方法.Lambda表达式 引言: 最初学习c#时,感觉委托.事件这块很难,其中在学习的过程中还写了一篇学习笔记:委托.事件学习笔记.今天重新温故委托.事件,并且把最近学习到 ...

  8. .NET Framework System.Array.Sort 数组类,加深对 IComparer、IComparable 以及泛型委托、匿名方法、Lambda 表达式的理解

    本文内容 自定义类 Array.Sort 参考资料 System.Array.Sort 有很多对集合的操作,比如排序,查找,克隆等等,你可以利用这个类加深对 IComparer.IComparable ...

  9. C#中分别对委托、匿名方法、Lambda表达式、Lambda表达式树以及反射执行同一方法的过程进行比较。

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. 进阶系列(8)——匿名方法与lambda表达式

    一 匿名方法的介绍     匿名方法是为了简化委托的实现,方便调用委托方法而出现的,同时,匿名方法也是学好lambda表达式的基础.在委托调用的方法中,如果方法只被调用一次,这个时候我们就没有必要创建 ...

随机推荐

  1. SetWindowsHookEx 相关

    SetWindowsHookEx function https://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85) ...

  2. iOS 7 Pushing the Limits Notes - create a layer like notification center's or control center's background

    Problem: How to create a layer that looks like your notification center's or control center's backgr ...

  3. Codeforces Round #313 (Div. 1) A. Gerald's Hexagon 数学题

    A. Gerald's Hexagon Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/559/p ...

  4. Codeforces Round #311 (Div. 2) A. Ilya and Diplomas 水题

    A. Ilya and Diplomas Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/557/ ...

  5. 使用Url.Routeurl获取url值。

    1,获取url值.         public ActionResult About()         {            RouteValueDictionary RVD = new Ro ...

  6. 浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决的方法

    当浏览器禁用Cookies时.基于Cookie的会话跟踪机制就会失效.解决的方法是利用URL重写机制跟踪用户会话. 在使用URL重写机制的时候须要注意.为了保证会话跟踪的正确性,全部的链接和重定向语句 ...

  7. Quartz表达式

    “*”字符代表所有可能的值 因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天 “/”字符用来指定数值的增量 例如:在子表达式(分钟)里的“0/15”表示从 ...

  8. VMware EXSI 6.0 体验

    VMware EXSI 6.0 体验 导读 VMware 作为虚拟化行业的老大,占据了80%的市场份额.而在服务器虚拟化就不得不说 VMware vSphere ,这个组合包括了VMware EXSI ...

  9. Objective-C学习笔记

    . 链接:Objective-C学习笔记 (pdf版) .

  10. Hastiness

    Problem Description How many problems did you AC?When you read this problem, don’t hasty and careles ...