1,匿名方法

匿名方法可以在声明委托变量时初始化表达式,语法如下

之前写过这么一段代码:

    delegate void MyDel(string value);
class Program
{
void Print1(string value)
{
Console.WriteLine("方法1:{0}", value);
}
void Print2(string value)
{
Console.WriteLine("方法2:{0}", value);
}
void Print3(string value)
{
Console.WriteLine("方法3:{0}", value);
}
/// <summary>
/// 执行委托方法
/// </summary>
/// <param name="d">委托类型参数</param>
/// <param name="value">委托内方法的参数</param>
void PrintFun(MyDel d, string value)
{
d(value);
}
static void Main(string[] args)
{
Program p = new Program();
MyDel del1, del2;//声明委托变量
del1 = p.Print1;
del2 = p.Print2;
p.PrintFun(del1, "已运行");
p.PrintFun(del2, "已运行");
Console.ReadKey();
}
}

现在可以改成这样:

    delegate void MyDel(string value);
class Program
{/// <summary>
/// 执行委托方法
/// </summary>
/// <param name="d">委托类型参数</param>
/// <param name="value">委托内方法的参数</param>
void PrintFun(MyDel d, string value)
{
d(value);
}
static void Main(string[] args)
{
Program p = new Program(); //匿名方法
Console.WriteLine("\n运行匿名方法");
MyDel d1 = delegate(string value) { Console.WriteLine("方法1:{0}", value); };
MyDel d2 = delegate(string value) { Console.WriteLine("方法2:{0}", value); };
p.PrintFun(d1, "以匿名方法运行");
p.PrintFun(d2, "以匿名方法运行"); Console.ReadKey();
}
}

2,Lambda表达式

匿名方法的简化

    delegate void MyDel(string value);
class Program
{
/// <summary>
/// 执行委托方法
/// </summary>
/// <param name="d">委托类型参数</param>
/// <param name="value">委托内方法的参数</param>
void PrintFun(MyDel d, string value)
{
d(value);
}
static void Main(string[] args)
{
Program p = new Program();//Lambda表达式
Console.WriteLine("\n运行Lambda表达式");
MyDel d3 = value => Console.WriteLine("方法3:{0}", value);
p.PrintFun(d3, "以Lambda表达式运行"); Console.ReadKey();
}
}

C#委托总结-匿名方法&Lambda表达式的更多相关文章

  1. 委托delegate 泛型委托action<> 返回值泛型委托Func<> 匿名方法 lambda表达式 的理解

    1.使用简单委托 namespace 简单委托 { class Program { //委托方法签名 delegate void MyBookDel(int a); //定义委托 static MyB ...

  2. C# delegate event func action 匿名方法 lambda表达式

    delegate event action func 匿名方法 lambda表达式 delegate类似c++的函数指针,但是是类型安全的,可以指向多个函数, public delegate void ...

  3. 18、(番外)匿名方法+lambda表达式

    概念了解: 1.什么是匿名委托(匿名方法的简单介绍.为什么要用匿名方法) 2.匿名方法的[拉姆达表达式]方法定义 3.匿名方法的调用(匿名方法的参数传递.使用过程中需要注意什么) 什么是匿名方法? 匿 ...

  4. 委托-异步调用-泛型委托-匿名方法-Lambda表达式-事件【转】

    1. 委托 From: http://www.cnblogs.com/daxnet/archive/2008/11/08/1687014.html 类是对象的抽象,而委托则可以看成是函数的抽象.一个委 ...

  5. C#多线程+委托+匿名方法+Lambda表达式

    线程 下面是百度写的: 定义英文:Thread每个正在系统上运行的程序都是一个进程.每个进程包含一到多个线程.进程也可能是整个程序或者是部分程序的动态执行.线程是一组指令的集合,或者是程序的特殊段,它 ...

  6. 匿名函数 =匿名方法+ lambda 表达式

    匿名函数的定义和用途 匿名函数是一个"内联"语句或表达式,可在需要委托类型的任何地方使用. 可以使用匿名函数来初始化命名委托[无需取名字的委托],或传递命名委托(而不是命名委托类型 ...

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

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

  8. 用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树

    这些对老一代的程序员都是老生常谈的东西,没什么新意,对新生代的程序员却充满着魅力.曾经新生代,好多都经过漫长的学习,理解,实践才能掌握委托,表达式树这些应用.今天我尝试用简单的方法叙述一下,让大家在五 ...

  9. 转帖:用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树

    用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树 这些对老一代的程序员都是老生常谈的东西,没什么新意,对新生代的程序员却充满着魅力.曾经新生代,好多都经过漫长的学习,理解,实践才能掌握委托 ...

随机推荐

  1. Java获取资源文件

    比如我们有以下目录 |--project |--src |--javaapplication |--Test.java |--file1.txt |--file2.txt |--build |--ja ...

  2. Treasures and Vikings(两次搜索)

    Treasures and Vikings https://www.luogu.org/problemnew/show/P4668 题意翻译 你有一张藏宝图,藏宝图可视为 N×MN×M 的网格.每个格 ...

  3. jquery:为动态加载的元素添加点击事件

    jquery:为动态加载的元素添加点击事件 最近在做项目的时候遇到了这样一个问题,给用ajax动态加载出来的内容添加点击事件,但是怎么都触发不了,经过查询试验总结出正确的写法 在jquery1.7之前 ...

  4. [SoapUI] 通过context获取response并解析里面的某个字段的值

    import com.eviware.soapui.support.GroovyUtils def groovyUtils = new GroovyUtils( context ) def realI ...

  5. 设计模式之flyweight享元模式

    运用共享技术支持大量细粒度对象的使用 Flyweight模式(享元) Java深入到一定程度,就不可避免的碰到设计模式这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解.设计模 ...

  6. part1:6-Linux文本编辑器vi

    vi编辑器简介: vi是Linux系统的第一个全屏幕交互式编辑器:vim则是vi的升级版得到广大用户青睐. vim有三种工作模式:命令行模式.插入模式.底行模式 命令行模式常用功能键: yy:复制当前 ...

  7. fastjson解析List对象

    List<String[]> body = JSON.parseObject(msg.getBody().toString(), new TypeToken<List<Stri ...

  8. 2018软工项目UML设计(团队)

    团队信息 队名:火箭少男100 本次作业课上成员 短学号 名 本次作业博客链接 2507 俞辛(临时队长) https://www.cnblogs.com/multhree/p/9821080.htm ...

  9. Android系统root破解原理分析

    http://dengzhangtao.iteye.com/blog/1543494 root破解过程的终极目标是替换掉系统中的su程序.但是要想替换掉系统中su程序本身就是需要root权限的,怎样在 ...

  10. 2018.09.27 hdu4507吉哥系列故事——恨7不成妻(数位dp)

    传送门 一道比较综合的数位dp. 维护三个值:[L,R][L,R][L,R] 区间中与7无关的数的数量,与7无关的数之和,与7无关的数的的平方和. 然后可以用第一个值推第二个,第一个和第二个值推第三个 ...