3

有没有办法将一个方法用作另一个方法的参数。例如,对于给定函数 f 返回 2f(3) 的方法。我明白,我的代码是不正确的:我试图传达我想要的想法。

static double twofof3(double f(double x))
{
    return 2*f(3);
}

static double f(double x)
{
   return x * x;
}

twofof3 方法目前没有意义,因为它可以仅使用 f 方法来实现,但它更多是我感兴趣的概念。

4

1 回答 1

7

是的,您可以使用Func委托:

static double twofof3(Func<double,double> f)
{
    return 2*f(3);
}

static double function1(double x)
{
   return x * x;
}

// ...

Console.WriteLine(twofof3(function1));
于 2012-11-19T02:19:38.667 回答