我是否需要在while循环之前显式运行if语句?

时间:2017-03-25 12:59:21

标签: c#

我对C#语言相当陌生,并且在不久前编写代码时也不知道。当我在循环编写时,我也发现问自己我是否明确需要检查是否需要我的while条件,让我们以下面的代码为例。

while (_myList.Count > 0)
{
    // do some work
}

如果之前编写的代码(由其他开发人员提供),我看到他们做过类似的事情......

if (_list.Count > 0)
{
    while (_myList.Count > 0)
    {
        // do some work
    }
}


这是最好的做法,我甚至需要这样做吗?如果是这样,为什么......有人可以对这个话题有所启发,让我知道什么是最好的?感谢。

3 个答案:

答案 0 :(得分:1)

您不必指定if:

if (_list.Count > 0)

while循环

  

什么是while循环:接受一个参数并比较剩下的东西   从操作员到右边。并返回一个布尔值(true或   假)只要while得到一个真值就会继续循环。

如果

  

if if statment做什么:正在进行争论并比较剩下的   从操作员到右边。并返回一个布尔值(true或   false)只要if得到一个true它就会继续运行if代码块中的代码。

<强>通知:

if (_list.Count > 0) // checking for _list
{
   while (_myList.Count > 0) // checking for _myList
   { 
   }
}

在示例中,您展示了&#34;其他开发者&#34;你检查不同的情况,所以在这种情况下,如果你不想在_list.Count&gt;运行te循环时检查_list.Count是有用的。 0.

<强>结论

当你在if和wile中检查同一个列表时,不要这样做

可以执行:如果您只想在特定条件或可能的例外情况下运行wile。

答案 1 :(得分:0)

在这种情况下,您不需要添加if

在输入while之前,将评估条件,如果&lt; = 0,则不进行迭代。

您的示例中提醒您_listmy_list不是同一个对象。

答案 2 :(得分:0)

第二个代码示例没用。如果列表计数为0或更小,则不会执行while。

但是,您必须检查,如果_myList为空,可能是这样的:

if (_myList == null)
    //error handling here

如果_myList确实为空,那么您的代码示例中都会有NullReferenceException