可以将变量视为函数吗?

时间:2015-04-14 09:07:43

标签: c# function variables

说,我有以下程序:

private int Function()
{
  return 0;
}

public void Function_Deus()
{
  int variable = Function();  

  if (variable(0))  // IS THIS POSSIBLE?
    {
      Console.Writeln("Success");
    }
}

我的问题是, 这里发生了什么 ?当调用varibale(0)(作为函数?)时,是否检查该变量的值是0还是其他完全?

1 个答案:

答案 0 :(得分:4)

您可以与代表做类似的事情:

private bool IsZero(int value)
{
    return value == 0;
}

public void Function_Deus()
{
    Func<int, bool> variable = IsZero;

    if (variable(0))  // IS THIS POSSIBLE?
    {
        Console.WriteLine("Success");
    }
}

请注意,您的示例在多个方面都有误,其中一个是Function()不需要任何参数,而您尝试将其用作variable(0)

  

检查该变量的值是否为0

这不是C / C ++:if仅适用于bool结果(或定义了一些特殊operator的值,但让我们忽略它)。请注意,我的IsZero会返回bool: - )