当前位置:  开发笔记 > 编程语言 > 正文

C#如何检查if语句的哪一部分是正确的

如何解决《C#如何检查if语句的哪一部分是正确的》经验,为你挑选了1个好方法。

我想知道如何检查if语句的哪一部分是正确的.例如,如果你有这个:

int a = 1, b, c, d;
    if(a > 0 || b > 1 || c > 2 || d > 3)
    {
        //do stuff
    }

现在在这种情况下,使得if正确的是a.那你怎么验证呢?基本上你可以把它们放在4个不同的if中,但是如果你必须为每一个做一个重复的代码,你可能会想出一些方法,但是实际上没有办法传递一些值吗?



1> dasblinkenli..:

在您不仅需要知道整体结果而且还需要知道产生结果的项目的情况下,一种方法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.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有