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