在C#中,閉包是指一個函數可以訪問其外部作用域中的變量。這使得函數可以捕獲外部變量的狀態,并在函數內部使用這些變量。
以下是一個簡單的示例,演示了如何在C#中使用閉包:
using System;
class Program
{
static void Main()
{
int x = 10;
Func<int, int> addX = (y) => x + y;
int result = addX(5);
Console.WriteLine(result); // 輸出 15
}
}
在這個示例中,我們定義了一個變量x
,然后定義了一個使用閉包的函數addX
。這個函數接受一個參數y
,然后返回x + y
的結果。由于addX
函數使用了外部變量x
,它可以訪問和修改x
的值。
在實際開發中,閉包通常用于處理異步編程、事件處理、LINQ查詢等場景。通過閉包,我們可以輕松地捕獲外部變量的狀態,使代碼更加簡潔和靈活。