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的值。

  • 相关阅读:
    CF1270H
    CF1305G
    LeetCode-Sqrt(x)
    LeetCode-Plus One
    LeetCode-Integer to Roman
    LeetCode-Roman to Integer
    LeetCode-String to Integer (atoi)
    LeetCode-Reverse Integer
    C++
    LeetCode-Gray Code
  • 原文地址:https://www.cnblogs.com/a2502971/p/13688444.html
Copyright © 2011-2022 走看看