C#局部函数

C# 7.0引入了局部函数,这是在方法、构造函数或其他函数内定义的嵌套函数。局部函数可以访问包含它们的函数的局部变量和参数,并且可以与外部函数的变量和参数具有相同的名称。


下面是一个简单的示例,展示了如何在方法内定义一个局部函数:

public void MyMethod()
{
    int x = 5;
    void MyLocalFunction(int y)
    {
        Console.WriteLine($"x + y = {x + y}");
    }
    MyLocalFunction(10);
}

在上面的示例中,MyMethod 方法定义了一个名为 MyLocalFunction 的局部函数。它接受一个整数参数 y,并在控制台上打印 x + y 的结果。在 MyMethod 中,我们调用了 MyLocalFunction 并将参数 10 传递给它。由于 MyLocalFunction 可以访问 MyMethod 中的变量 x,它能够计算出 15 并将其打印到控制台上。


需要注意的是,局部函数只能在包含它们的方法、构造函数或其他函数内部使用。它们不能在其他方法中调用,也不能作为返回值返回。


果糖网