在 C# 中,闭包是指可以捕获其封闭范围(作用域)内变量的匿名方法或 Lambda 表达式。当一个方法或 Lambda 表达式引用了外部作用域中的变量时,这个方法或表达式就形成了一个闭包。
闭包允许在定义时捕获外部变量,并在稍后执行时使用这些变量的值。这意味着即使创建闭包的代码块已经离开作用域,闭包仍然可以访问和操作外部作用域中的变量。
下面是一个简单的示例,演示了如何在 C# 中创建一个闭包:
```csharp
using System;
class Program
{
static void Main()
{
int outerVariable = 5;
Func
int result = adder(10);
Console.WriteLine(result); // 输出:15
}
}
```
在这个示例中,我们定义了一个包含闭包的匿名方法 `adder`,它捕获了外部作用域中的变量 `outerVariable`。闭包在调用时会将传入的参数与捕获的外部变量相加,并返回结果。