首页 > 其他分享 >.NET Lambda表达式

.NET Lambda表达式

时间:2022-10-03 08:11:06浏览次数:42  
标签:item 捕获 action Action NET 表达式 Lambda

  Lambda表达式

  (参数)=>表达式或语句块,如果只有一个并且类型可推断的话,括号可以省略。

  Lambda表达式可以引用外部的变量,引用的变量生命周期会延长到与Lambda相同。

  Lambda表达式本身也可以更新捕获的外部变量的值。

  Lambda表达式的一个特性,Lambda表达式会延迟到委托调用时才执行,例如如果一个Lamdba表达式捕获了外部for循环每次迭代的i值,最后只会得到相同的i值比如下面这个例子:

Action[] action = new Action[3];
for (int i = 0; i < 3; i++)
{
  action[i] = () => Console.WriteLine(i);
}
foreach (Action item in action)
{
  item();
}

  Lambda表达式捕获了不同值的i,但最后的输出是三个3,不是0,1,2。如果想用循环实现0,1,2的输出,可以在循环里定义变量并被表达式捕获:

Action[] action = new Action[3];
for (int i = 0; i < 3; i++)
{
    int j = i;
    action[i] = () => Console.WriteLine(j);
}
foreach (Action item in action)
{
    item();
}

  上面只是用一个临时变量被表达式捕获就实现了效果,在内存里,其实是三个不同的j变量被表达式捕获了

标签:item,捕获,action,Action,NET,表达式,Lambda
From: https://www.cnblogs.com/lrplrplrp/p/16749961.html

相关文章

  • Java_Lamda表达式
    Lamda表达式λ希腊字母表中排序第十一位的字母,英文为Lambda避免匿名内部类定义过多其实质属于函数式编程的概念(params)->expression[表达式](params)->statement......
  • 006.路径表达式用法
         ......
  • Kubernetes--Service会话粘性
    Service资源还支持Sessionaffinity(绘会话粘性或粘性会话)机制,它能够将来自同一个客户端的请求始终转发至同一个后端的Pod对象,所以,这就意味着它会影响调度算法的流量分发......
  • 中缀表达式转后缀、前缀记录
    波兰表示法与逆波兰表示法它们都是对表达式的记法,因此也被称为前缀记法、后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操......
  • [学习笔记]darknet的部署和利用darkmark进行训练
    今天跟着学长来了解以下darknet的训练过程首先前置需求就是darknet,darkmark(可视化寻训练工具),darkhelp一、编译几个工具首先修改makefile文件GPU=1就是用gpu(不用我......
  • .NET Func与Action
    Func与Action都是系统定义好的委托(Delegate)类型,与普通的委托类型相比,Func与Action有一套封装好的方法,其中Func必须有返回值,而Action不能有返回值,因为这两个都是泛型方......
  • 邮件正则无表达式编写
    email_reg=/^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]+){1,2}$/;说明:^\w表示以字母、数字或下划线开头,{3,}表示至少要三个字符\.表示邮件中的.,\是转义用的,w+表示一个或多个......
  • Lenet和卷积
      这里tensor的通道排序(batch,channel,height,width)batch就是一次传入的处理多少个图片,比如32张图片channel彩色图片的channel就是rgb三个通道,3。ps:在cifar10中的数据......
  • 【K8S】Kubernetes控制器Controller-RS/Deployment/HPA详解
    一、介绍Pod是kubernetes的最⼩管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类:自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建......
  • Axiomatic Attribution for Deep Networks解读
    摘要这篇文章主要研究的是如何将模型的预测归因到模型的输入上这个问题。作者提出了两条归因方法应该满足的基本定理,敏感性(Sensitivity)和实现不变性(ImplementationIn......