0

使用函数指针而不是 if 语句是否有意义。如果大多数程序运行时,if 语句可能会返回相同的结果?

一个比另一个更有效吗?

示例:If 语句

public int getValue()
{
    if(_systemReady == true)
    {
        ...Do Something
        return intResult;
    }
    else
    {
        ...Do Something else
        return intResult;
    }
}

public void systemStateChanged(bool b)
{
    _systemReady = b;
}

可以这样写:函数指针

private Func<int> _GetValue;

public int getValue()
{
    return _GetValue();
}

public void systemStateChanged(bool b)
{
    _systemReady = b;
    if(_systemReady == true)
    {
         _GetValue = DoSomething;
    }
    else
    {
         GetValue = DoSomethingElse;
    }
}

谢谢

4

0 回答 0