在C#中,閉包是指一個函數可以訪問其創建時的環境變量,即使在其定義的范圍外部調用該函數。閉包在C#中通常使用lambda表達式來定義。
下面是一個示例,展示了如何定義和使用閉包:
using System;
class Program
{
static void Main()
{
// 定義閉包函數
Func<int, int> adder = (int x) =>
{
int y = 5;
return x + y;
};
// 使用閉包函數
int result = adder(3);
Console.WriteLine(result); // 輸出 8
}
}
在上面的示例中,adder函數是一個閉包函數,它可以訪問在其定義時的外部變量y。當調用adder函數時,會將參數x與外部變量y相加并返回結果。
通過閉包,我們可以實現更靈活和復雜的功能,同時保持代碼的簡潔和易讀性。