c#闭包的概念是什么

2024-03-28

在 C# 中,闭包是指可以捕获其封闭范围(作用域)内变量的匿名方法或 Lambda 表达式。当一个方法或 Lambda 表达式引用了外部作用域中的变量时,这个方法或表达式就形成了一个闭包。

闭包允许在定义时捕获外部变量,并在稍后执行时使用这些变量的值。这意味着即使创建闭包的代码块已经离开作用域,闭包仍然可以访问和操作外部作用域中的变量。

下面是一个简单的示例,演示了如何在 C# 中创建一个闭包:

using System;

class Program
{
    static void Main()
    {
        int outerVariable = 5;

        Func<int, int> adder = (int x) => x + outerVariable;

        int result = adder(10);
        Console.WriteLine(result);  // 输出:15
    }
}

在这个示例中,我们定义了一个包含闭包的匿名方法 adder,它捕获了外部作用域中的变量 outerVariable。闭包在调用时会将传入的参数与捕获的外部变量相加,并返回结果。

《c#闭包的概念是什么.doc》

下载本文的Word格式文档,以方便收藏与打印。