溫馨提示×

c#閉包的概念是什么

c#
小億
105
2024-03-28 17:40:08
欄目: 編程語言

在 C# 中,閉包是指可以捕獲其封閉范圍(作用域)內變量的匿名方法或 Lambda 表達式。當一個方法或 Lambda 表達式引用了外部作用域中的變量時,這個方法或表達式就形成了一個閉包。

閉包允許在定義時捕獲外部變量,并在稍后執(zhí)行時使用這些變量的值。這意味著即使創(chuàng)建閉包的代碼塊已經離開作用域,閉包仍然可以訪問和操作外部作用域中的變量。

下面是一個簡單的示例,演示了如何在 C# 中創(chuàng)建一個閉包:

```csharp

using System;

class Program

{

static void Main()

{

int outerVariable = 5;

Func adder = (int x) => x + outerVariable;

int result = adder(10);

Console.WriteLine(result); // 輸出:15

}

}

```

在這個示例中,我們定義了一個包含閉包的匿名方法 `adder`,它捕獲了外部作用域中的變量 `outerVariable`。閉包在調用時會將傳入的參數與捕獲的外部變量相加,并返回結果。

0