【发布时间】:2016-04-13 15:46:46
【问题描述】:
我想知道如何检查 if 语句的哪一部分是正确的。例如,如果你有这个:
int a = 1, b, c, d;
if(a > 0 || b > 1 || c > 2 || d > 3)
{
//do stuff
}
现在在这种情况下,使 if 正确的是a。那么如何验证这一点呢?
基本上你可以把它们放在 4 种不同的 if 中,但是如果你必须为每个 if 做一个重复的代码,你可能会想出一些方法来解决它,但实际上没有一种方法可以传递一些值吗?
【问题讨论】:
-
如果你在每个分支中都有重复的代码,做我们面对重复代码时通常会做的事情:将其重构为一个方法。
-
是的,我认为你可以做到这一点,但我真的很想看看一些方法来检查 if 的哪一部分是正确的..
-
我们调试器并单击 QuickWatch 并粘贴您要比较的变量或使用命令窗口
-
@kopelence:方法是将
if表达式拆分成多个if/elseif。 -
当您有这么多条件时,最好将它们外包到
var aIsBiggerThanZero = a > 0;等变量中,然后在您有ìf(aIsBiggerThanZero || ...)的情况下外包。然后,您可以在调试模式下轻松找出其中哪一个是正确的。而且你的代码更干净,因为变量解释了条件中检查的内容。
标签: c# if-statement