我想知道如何检查if语句的哪一部分是正确的。例如,如果您有:
int a = 1, b, c, d;
if(a > 0 || b > 1 || c > 2 || d > 3)
{
//do stuff
}
现在,在这种情况下,使if正确的是a
。那么如何验证呢?基本上,您可以将它们放在4种不同的if中,但是如果您必须为每个代码做一个重复的代码,则可能可以想出一些方法,但是实际上并没有例如传递某些值的方法吗?
在不仅需要了解整体结果而且还需要了解生成结果的项目的情况下,一种方法true
是将条件放入数组中,并||
自己执行OR链:
var conditions = new[] {a > 0, b > 1, c > 2, d > 3};
var whichOne = Array.IndexOf(conditions, true);
if (whichOne >= 0) {
Console.WriteLine("Condition number {0} is true", whichOne);
} else {
Console.WriteLine("The condition is false");
}
请注意,此方法与||
链不同之处在于它不会使评估短路。换句话说,将在调用之前评估所有四个条件IndexOf
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句