溫馨提示×

C#閉包怎么定義和使用

c#
小億
93
2024-03-28 17:04:03
欄目: 編程語言

在C#中,閉包是指一個函數(shù)可以訪問其創(chuàng)建時的環(huán)境變量,即使在其定義的范圍外部調(diào)用該函數(shù)。閉包在C#中通常使用lambda表達式來定義。

下面是一個示例,展示了如何定義和使用閉包:

using System;

class Program
{
    static void Main()
    {
        // 定義閉包函數(shù)
        Func<int, int> adder = (int x) =>
        {
            int y = 5;
            return x + y;
        };

        // 使用閉包函數(shù)
        int result = adder(3);
        Console.WriteLine(result); // 輸出 8
    }
}

在上面的示例中,adder函數(shù)是一個閉包函數(shù),它可以訪問在其定義時的外部變量y。當調(diào)用adder函數(shù)時,會將參數(shù)x與外部變量y相加并返回結果。

通過閉包,我們可以實現(xiàn)更靈活和復雜的功能,同時保持代碼的簡潔和易讀性。

0