c# - if 条件中果有多个&& 或 || 条件,其执行顺序是怎样的?

来源:互联网 发布:淘宝客自建app 编辑:程序博客网 时间:2024/05/20 09:47

首先,为了避免歧义,特此说明:我们不是讨论&&优先于||执行,我们讨论如果一个If中有多个&&;或一个if中有多个||;他们的执行顺序是什么。

答案是:从左至右;

1. 对于&&,如果遇到一个false,则停止其它条件的判断,返回false。

2. 对于||, 如果遇到一个true,则停止其它条件的判断,返回true。

示例:

        static void Main(string[] args)        {            int a = 0;            // OK, a > 0 返回false,停止其他条件的判断返回false            if (a > 0 && 5 / a >= 1)            {                Console.WriteLine("&& 从左至右执行1");            }            // Not OK, 5 / a >= 1 抛出DivideByZeroException,程序终止。            if (5 / a >= 1 && a > 0)            {                Console.WriteLine("&& 从左至右执行2");            }            // OK, a >= 0 返回true,停止其它条件的判断返回true。            if (a >= 0 || 5 / a >= 1)            {                Console.WriteLine("|| 从左至右执行1");            }            // Not OK, 5 / a >= 1 抛出DivideByZeroException,程序终止。            if (5 / a >= 1 || a >= 0)            {                Console.WriteLine("|| 从左至右执行2");            }        }

0 0
原创粉丝点击