说明(2017-11-21 18:51:32):

1. 例子为求1~100的和,答案应该是5050(小学学算盘的时候,我爹就让我算,从1拨到100是多少呀?当时的我年幼无知,还不知道高斯小时候的故事,扒拉了半天高高兴兴的去说答案,结果说不对,艹!)

2. Lambda表达式是将匿名委托给简化了的写法,省去了delegate关键字,省去了参数类型,但是要保证参数类型不能出错,也就是跟委托定义时的参数类型一致。

3. 其他没啥好说的看注释,下一讲用Lambda表达式求水仙花数。

正常写法:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace _05_匿名委托
{
class Program
{
static void Main(string[] args)
{
//调用方法
Console.WriteLine(GetSum(, ));
Console.ReadKey();
}
//定义求和的方法
public static int GetSum(int x, int y)
{
int sum = ;
for (int i = x; i <= y; i++)
{
sum += i;
}
return sum;
}
}
}

匿名委托写法:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace _05_匿名委托
{
class Program
{
public delegate int MyDel(int x, int y);
static void Main(string[] args)
{
//记得最后要加分号,因为是赋值,跟js一样。
MyDel myDel = delegate(int x, int y)
{
//在委托里面定义求和的方法,匿名委托用于只需要调用一次的方法,省的再起个方法名了(说的就是上面的GetSum!)
int sum = ;
for (int i = x; i <= y; i++)
{
sum += i;
}
return sum;
};
Console.WriteLine(myDel(, ));
Console.ReadKey();
}
}
}

Lambda表达式写法:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace _05_匿名委托
{
class Program
{
public delegate int MyDel(int x, int y);
static void Main(string[] args)
{
//尼玛连参数类型都省了,还有那个delegate关键字,太特么懒了!
MyDel myDel = (a, b) =>
{
int sum = ;
for (int i = a; i <= b; i++)
{
sum += i;
}
return sum;
};
Console.WriteLine(myDel(, ));
Console.ReadKey();
}
}
}

C#学习笔记(28)——匿名委托和Lambda表达式的更多相关文章

  1. 委托、匿名委托、Lambda 表达式、Expression表达式树之刨根问底

    本篇不是对标题所述之概念的入门文章,重点在阐述它们的异同点和应用场景.各位看官,这里就不啰嗦了,直接上代码. 首先定义一个泛型委托类型,如下: public delegate T Function&l ...

  2. C#,委托,匿名委托,Lambda表达式

    1. 委托是什么? (1) 从数据结构来讲,委托是和类一样是一种用户自定义类型.  (2) 从设计模式来讲,委托(类)提供了方法(对象)的抽象.概括的说:委托是方法的抽象. 2. 委托类型的定义: 委 ...

  3. 匿名委托与Lambda表达式

    通过使用匿名委托(匿名方法),使编程变得更加灵活,有关委托与匿名委托请参考我的前一篇Blog<委托与匿名委托>. 继续之前示例,代码如下: static void Main(string[ ...

  4. 帮助理解委托、匿名委托、Lambda表达式还有事件

    写了一个小程序,能够很好的认识到这三个的用法 namespace Lambda { /// <summary> /// 实现根据指定运算形式 输出结果 /// </summary&g ...

  5. 委托、匿名委托和lambda表达式

    1.委托 在.NET中,委托有点类似于C/C++中的函数指针,但与指针不同的是,委托是一种安全的类型,那么我们就以实现两个数的差为例,先声明一个成员方法: public int CompareTwoV ...

  6. python学习笔记(十三)之lambda表达式

    lambda表达式: 用法 lambda x : 2 * x + 1 其中:前面是参数,后面是返回值. >>> def ds(x): ... return 2 * x + 1 ... ...

  7. C#中匿名委托以及Lambda表达式的学习笔记

    一. C#从1.0到4.0, 随着Linq,泛型的支持,代码越来越简单优雅 , , , , , , , , , }; IEnumerable< select n; newNums = newNu ...

  8. C# 委托 (一)—— 委托、 泛型委托与Lambda表达式

    C# 委托 (一)—— 委托. 泛型委托与Lambda表达式 2018年08月19日 20:46:47 wnvalentin 阅读数 2992   版权声明:此文乃博主之原创.鄙人才疏,望大侠斧正.此 ...

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

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

随机推荐

  1. Python学习笔记(十一)—— 函数式编程

    一.函数式编程理念 函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用.而允许使用变 ...

  2. eclipse导入class文件

    右键src文件夹->build path->config build path->library->add class folder->create new folder ...

  3. C++的std::string的“读时也拷贝”技术!

    C++的std::string的读时也拷贝技术! 嘿嘿,你没有看错,我也没有写错,是读时也拷贝技术.什么?我的错,你之前听说写过时才拷贝,嗯,不错的确有这门技术,英文是Copy On Write,简写 ...

  4. session的取代者:Json Web Tokens----在客户端存储登陆状态

    https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/

  5. jeecg删除菜单导致角色权限设置点不开的问题解决

    在JEECG中经常需要删除一些菜单,但是由于当前使用版本jeecg3.7.1功能不够完善,需要手动去删除角色对应目录表的没删除干净的数据,要删除的数据查询SQL语句如下: select * from ...

  6. 基础001_Xilinx V7资源

    作者:桂. 时间:2018-02-08  09:37:35 链接:http://www.cnblogs.com/xingshansi/p/8430247.html 前言 本文主要是Xilinx V7系 ...

  7. 全相FFT

    作者:桂. 时间:2017-12-02  23:29:48 链接:http://www.cnblogs.com/xingshansi/p/7956491.html 一.相位提取 以正弦信号为例,x = ...

  8. 请教Mysql如何删除 不包含 某些字符的记录

    删除包含指定字符的记录 delete from `表` where `字段` like '%指定字符1%' or like '%指定字符2%' or like '%指定字符3%' 删除不包含指定字符的 ...

  9. 7 款顶级的开源 Web 分析软件

    Web 分析无非就是 Web 流量的测量.但它并不限于测量网络流量,还包括: 分析 数据采集 为了了解和优化网页而上报网络数据 Google Analytics是最广泛使用的基于云的网络分析服务.不过 ...

  10. php分享十八:网页抓取

    一.抓取远程图片到本地,你会用什么函数? 方法1:利用readfile读取远程图片到缓冲中,然后写入新的文件 function grabImage($url, $filename = '') { if ...