我有以下方法:
public override bool IsSatisfiedBy(SourceFile candidate)
{
Console.WriteLine("Check 1: " + One.IsSatisfiedBy(candidate));
Console.WriteLine("Check 2: " + Two.IsSatisfiedBy(candidate));
Console.WriteLine("Check 3: " + Three.IsSatisfiedBy(candidate));
return One.IsSatisfiedBy(candidate) && Two.IsSatisfiedBy(candidate) && Three.IsSatisfiedBy(candidate);
}
如果我将SourceFile作为不符合规则1的参数传递,则不会检查规则2和3。我知道这是正确的方法,但我想更多地了解确切的行为,但我找不到任何东西,因为我不知道这种行为是什么:D
答案 0 :(得分:9)
它被称为short-circuit evaluation。在C#中,它适用于&&
和||
运算符。
答案 1 :(得分:1)
它被称为布尔表达式的短路。
答案 2 :(得分:0)
答案 3 :(得分:0)
这称为短路评估。
&&
只会在第一个条件成立时继续评估。
||
的行为方式类似,如果第一部分为真,则不会评估余数。
答案 4 :(得分:0)