zoukankan      html  css  js  c++  java
  • c# 闭包

    概念:内层的函数可以引用包含在它外层的函数的变量,即使外层函数的执行已经终止。但该变量提供的值并非变量创建时的值,而是在父函数范围内的最终值。

    示例:

    class Program
    {
    static void Main(string[] args)
    {
    var a = new class1();
    var b = a.test();
    Console.WriteLine(b());
    Console.ReadLine();
    }
    public class class1
    {
    public Func<int> test()
    {
    var a = 30;
    return () =>
    {
    Console.WriteLine(a);
    return a;
    };
    }
    }
    }

    如上示例所示,使用闭包可以让我们在调用test方法结束后,即变量a在方法内的生命周期结束后。再次调用b函数依然能够访问到我们上个函数的变量a的值。

  • 相关阅读:
    leetcode 34 rust
    leetcode 2 rust
    leetcode 1 rust
    leetcode 20 rust
    leetcode 287 rust
    leetcode 18 rust
    lottery抽奖
    webpack
    webpack(7)-生产环境
    webpack(6)-模块热替代&tree shaking
  • 原文地址:https://www.cnblogs.com/a2502971/p/13688444.html
Copyright © 2011-2022 走看看