可能重复:
是否会执行逻辑表达式中的所有方法?
让我解释一下:假设我们有这两个代码:
foreach(Object o in Objs)
if(o is Class1 || o is Class2)
DoSomething();
__
foreach(Object o in Objs)
if(o is Class1)
DoSomething();
else if(o is Class2)
DoSomething();
现在,在这种情况下当然 OR 更好,但我的问题是不同的,只是出于好奇:在第一种情况下 o 是 Class1 类型时,编译器是停止并运行代码还是检查接下来会发生什么?在第二种情况下会这样做。