C#有| =的等效短路

时间:2016-03-24 13:01:12

标签: c#

我正在设置按钮的可见性,我有像

这样的代码
    btnReset.Visible |= newCondition();

我注意到|=未被短路,||=不存在。当然,我可以将声明重写为

    btnReset.Visible = btnReset.Visible || newCondition();

但我只是好奇是否有短手短路操作员?

以下是验证|=不是短路的测试代码

    static void Main(string[] args)
    {

        bool firstValue = true;

        // Short Circuit 
        bool secondValue = firstValue || CallThisFunction();

        // Full Evaluation 
        bool thirdValue = firstValue | CallThisFunction();

        // Full Evaluation 
        secondValue |= CallThisFunction();
    }

    private static bool CallThisFunction()
    {
        return true;
    }

0 个答案:

没有答案