如果使用和/或(||/&&),.net是否会停止检查IF语句的其余部分?

goo*_*ere 1 .net c# vb.net if-statement

说你有类似的东西:

int num = 0

然后你做

if(num > 5 || num < 4)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

它会检查两者,但如果你这样做了

if(num < 4 || num > 5)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

它只检查第一个声明吗?与...一样:

if(num > 5 && num == 0)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

它应该在第一次失败后停止......对吗?

Mat*_*all 6

这称为布尔短路评估,(尽管[citation-needed])是的,C#和VB.NET有它(感谢@Lasse进行校正).

在C#中,||并且&&是短路的版本|&分别.