首页 > 其他分享 >经典闭包

经典闭包

时间:2023-10-25 20:35:57浏览次数:27  
标签:闭包 int actions ++ static result 经典

 先看常见的问题

internal class Program
{
    static void Main(string[] args)
    {

        var actions = GetSomeAction();
        for (int i = 0; i < actions.Count; i++)
            actions[i]();
    }
    
    static List<Action> GetSomeAction()
   {
    var result = new List<Action>(); 
    for (int i = 0; i < 5; i++)
        result.Add(() => Console.WriteLine(i));
    return result;
   }
}

返回结果全是 5 5 5 5 5  并不是正常的想要的 0 1 2 3 4

也许你会说 这就是有问题的呀!那么 什么时候一定有问题?什么情况下又一定没有问题?
有人说  for (int i = 0; i < 5; i++) 使用 foreach,  其实一样的。

 

标签:闭包,int,actions,++,static,result,经典
From: https://www.cnblogs.com/stweily/p/17788050.html

相关文章

  • 校验 ChatGPT4 真实性的三个经典问题:快速区分 GPT3.5 与 GPT4,并提供免费测试网站
    现在已经有很多ChatGPT的套壳网站,以下分享验明GPT-4真身的三个经典问题,帮助你快速区分套壳网站背后到底用的是GPT-3.5还是GPT-4。大家可以在这个网站测试:https://ai.hxkj.vip,免登录可以问三条,登录之后无限制。咱们使用免登录的额度测试就已经够用了测试问题1:Whatist......
  • JS加密/解密之闭包的运用
    深入探讨JavaScript闭包的演变与应用摘要:本文将深入探讨JavaScript闭包的概念、特性以及其在实际开发中的应用。我们将从闭包的起源开始,探讨它在JavaScript编程中的重要性,并通过实例展示闭包在不同场景下的灵活应用。引言JavaScript作为一种高度灵活的编程语言,一直以其独特的特性......
  • umich cv-4-2 经典卷积网络架构
    这节课中主要讨论了卷积神经网络的发展历史以及几种经典结构是如何构建的卷积网络经典结构AlexNetVGGGoogleNetResidualNetworkAlexNet在2012年的时候,Alexnet神经网络提出,这时网络的架构比如说各个层之间要如何排列组合,使用多少卷积层池化层,每个层又如何设置超参数其......
  • C语言经典例题加解析
    1、假设今天是星期三,编程求20天之后是星期几?#include<stdio.h>intmain(){intcurrentDay=3:1/假设今天是星期三,星期日为0,星期一为1,以此类推intdaysToAdd=20;/计算20天后的星期几intfutureDay=(currentDay+daysToAdd)%7;printf(~20天后是星期bd\n”,futureDay);......
  • 从闭包谈到高阶函数
    1闭包的概念闭包是由一个函数以及与其相关的引用环境组合而成的实体。闭包可以在函数内部访问外部函数的变量,并且这些变量可以在外部函数执行结束后仍然保持其状态。听起来可能有点抽象,咱们来段代码:functionouterFunction(x){returnfunctioninnerFunction(y){ret......
  • 经典题:求一个数是否为质数
    1.求一个数是否为质数publicclassMathDemo{publicstaticvoidmain(Sting[]args){//判断一个数是否为质数System.out.println(isPrime(number:13));System.out.println(isPrime(number:10));System.out.println(isPrime(number:997......
  • 冒泡排序算法(Bubble Sort)—经典排序算法
    导言冒泡排序是最基本、最简单的排序算法之一,它通过多次遍历待排序的数组或列表,依次比较相邻的元素并交换位置,使得较大(或较小)的元素逐渐“浮”到数组的一端。原理分析冒泡排序算法通过多次遍历待排序的数组或列表,依次比较相邻的元素并交换位置,使得较大(或较小)的元素逐渐“浮”到数组......
  • 装饰器、闭包
    用到了老是忘记,还是记录一下吧,装饰器、闭包python的装饰器、闭包是进入Python高级语法的基础,使用装饰器之前,有以下条件:存在闭包存在需要被装饰的函数理解函数地址的概念理解函数的地址值众所周知,我们定义函数后,函数名加()可以调用函数,那么我们尝试调用一下函数名呢?def......
  • Go 匿名函数与闭包
    Go匿名函数与闭包匿名函数和闭包是一些编程语言中的重要概念,它们在Go语言中也有重要的应用。让我们来详细介绍这两个概念,并提供示例代码来帮助理解。目录Go匿名函数与闭包一、匿名函数(AnonymousFunction)二、闭包函数(Closure)一、匿名函数(AnonymousFunction)匿名函数,也称为无......
  • 经典多线程题目
    1.三种线程按顺序执行publicclassTest1{//privatestaticLoggerlog=Logger.getLogger(Test2.class);publicstaticvoidmain(String[]args)throwsInterruptedException{//创建三个线程按照线程a,b,c执行Threada=newPrintThread()......