首页 > 【读书笔记】Lambda表达式

【读书笔记】Lambda表达式

    Lambda表达式,是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。

    Lambda表达式, 都是用"=>"运算符。 读作"goes to"。Lambda表达式运算符的左边是输入参数(如果有),右边包含表达式或语句块。使用格式如下:

(input parameters) => expression;
“Lambda表达式”是委托的实现方法,所以必须遵循以下规则:
  • 1)“Lambda表达式”的参数数量必须和“委托”的参数数量相同;
  • 2)如果“委托”的参数中包括有ref或out修饰符,则“Lambda表达式”的参数列中也必须包括有修饰符
大家都知道,一个类的私有成员只能在他的内部访问!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Lambda
{delegate bool D();delegate bool D2(int i);class Test{public D del;public D2 del2;public void TestMethod(int input){int j = 0;del = () => {j = 10;return j > input;};del2 = (x) =>{return x == j;};Console.WriteLine("j = {0}", j);bool boolResult = del();Console.WriteLine("j = {0}, b = {1}", j, boolResult); }}class Program{static void Main(string[] args){Test test = new Test();test.TestMethod(5);        bool result = test.del2(10);Console.WriteLine(result);Console.ReadKey();}}
}私有成员,在类外面不能引用.
private int x;
Cla cla = new Cla()
cla.x 这样引用是错的
 
如果public int x;
Cla cla = new Cla()

cla.x 这样引用是对的
 

You can also create an anonymous method using an operator called lambda and represented by =>. From our example above, to use the lambda operator to create an anonymous method, omit the delegate keyword and follow the parentheses by the operator. Here is an example:

转载于:https://www.cnblogs.com/herbert/archive/2010/03/22/1691766.html

更多相关:

  •  1. 指针数组 int *p[5]; [] 大于 *  2. 强制类型() 与 成员选择(./->) #include typedef struct {int data;int time; } data_t;int main() {data_t *p = (data_t *)malloc(sizeof(d...

  • 关联是jmeter中比较重要的一个点,在测试过程中有些数据是经常发生变化的,要获取这些数据,就需要使用关联,Jmeter可以通过“后置处理器”中的“正则表达式提取器”来处理关联。。 正则表达式提取器 1、在取样器下点击【添加】--【后置处理器】--正则表达式提取器     2、以随机查询城市天气为例,定义变量名称为city  ...

  • 经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?”m = 1; n = m+++m++;最近有位不相识的朋友发email给我,问为什么在某个C++系统里,下面表达式打印出两个4,而不是4和5:a = 4; cout << a++ << a;C++ 不是规定 << 操作左结合吗?是C++ 书上写错了,还是这个系统的...

  • 正则表达式的语法还包括指定选择项,对子表达式分组和引用前一子表达式的特殊字符.字符| 用于分隔供选择的字符.例如: /ab|cd|ef/ 匹配的是字符串 "ab",或者是字符串 "cd",又或者 "ef". /d{3}|[a-z]{4}/ 匹配的是要么是一个三位数,要么是四个小写字母. 在正则表达式中括号具有几种作用: 1、它的主要...

  •   1.给出两个数,用户再指定操作符,要求计算结果,这实现起来很容易;     2.多个数,但只涉及同一优先级的操作符,做起来也很容易;     3.多个数,不同优先级的操作符,怎么办呢?    想想就头痛,不过还好前人已经为我们留下了很多解决这个问题的方法。通过逆波兰表达式是解决这个问题很流行的一种方式。      一、什么是逆波兰...

  • 如果你只是想对流经该层的数据做个变换,而这个变换本身没有什么需要学习的参数,那么直接用Lambda Layer是最合适的了。 导入的方法是 from keras.layers.core import Lambda Lambda函数接受两个参数,第一个是输入张量对输出张量的映射函数,第二个是输入的shape对输出的shape的映...

  • 或许,Lambda 表达式算得上是 C++ 11 新增特性中最激动人心的一个。这个全新的特性听起来很深奥,但却是很多其他语言早已提供(比如 C#)或者即将提供(比如 Java)的。简而言之,Lambda 表达式就是用于创建匿名函数的。GCC 4.5.x 和 Microsoft Visual Studio 早已提供了对 lambda 表...

  • 动态规划中的巴拿赫不动点定理5. Banach Fixed Point Theorem in Dynamic Programming5.1 巴拿赫不动点定理定理 (Banach fixed point theorem)定义 5.1 度量空间定义定义 5.2 压缩映射Lemma 5.1 基本压缩不等式 (Fundamental cont...

  • from functools import reducedi = {}di.update(zip('1234567890.', [1,2,3,4,5,6,7,8,9,0,'.'])) def str2float(s):   st = s.split('.')   st1 = reduce(lambda x,y: 10*x + y, m...

  • lambda 语法: lambda [arg1[,arg2,arg3....argN]]:expression 1.单个参数的: g = lambda x:x*2 print g(3) 结果是6 2.多个参数的: m = lambda x,y,z: (x-y)*z print m(3,1,2) 结果是4 3.无参数 # 使用...

  • 情况一:后台给的日期是Sat Jul 31 2021 21:50:01 GMT+0800 (中国标准时间),如果直接呈现给用户,他们一定会吐槽你不说人话~~~ 情况二:后台给的百分数是小数没有转化成00%格式 采用vue的过滤机制就可以解决这种情况,有两种方式: 第一种:全局写法,在main.js里面加入 // 【...

  • 问题描述 使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。 例如:输入test.exe  -a 1 2       执行1+2输出3 问题分析 上面的逻辑思维很简单,但是问题在于如何在VS中向...

  • ------------------------siwuxie095                         MyBatis 中 #{} 和 ${} 的区别       1、在 MyBatis 的映射配置文件中,动态传递参数有两种方式:    (1)#{} 占位符    (2)${} 拼接符          2、#{} 和...

  •     #2.6 map()# 第一个参数传入一个函数,,第二个参数为一个可迭代对象li_1 = (1,3,5,7)def funcA(x): return x*xm1 = map(funcA,li_1)print(type(m1))print(m1())# 2.6 reduce()# 第一个参数传入一个函数,第二个参数 可以迭...

  • 列表,元组,字典的转换。 list列表是一组可变的元素集合 列表是'[]'括号组成的,[]括号包含所有元素,列表的创建可以传递字符串,也可以传递多个字符串来创建列表。如"asd", / "a","b" ... tuple元组的创建和列表一致,区别在于 元组是以'()'创建的,并且元组数据不可变。 dict字典不同于列表和元组,他...