在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相加并返回结果。
通过闭包,我们可以实现更灵活和复杂的功能,同时保持代码的简洁和易读性。