在 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`。閉包在調用時會將傳入的參數與捕獲的外部變量相加,并返回結果。