c#闭包的概念是什么

avatar
作者
猴君
阅读量:0

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

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

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

```csharp

using System;

class Program

{

static void Main()

{

int outerVariable = 5;

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

int result = adder(10);

Console.WriteLine(result); // 输出:15

}

}

```

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!