为什么while循环是一个无限循环?

时间:2014-03-20 03:18:53

标签: c#

我想执行一个循环的内容最多3次,每次程序执行时,我希望它生成一个不同的数字。所以第一次运行可能是2,然后是3,然后是1,然后是2,等等......

这是我写的代码:

       int i = new Random().Next(3);
        while (i <= 3)
        {

            Console.WriteLine("Hello World");

            i--;
        }**

但是,这最终会陷入无限循环。有人能帮助我理解我做错了吗?

谢谢!

4 个答案:

答案 0 :(得分:3)

您总是递减变量,因此它总是小于3

答案 1 :(得分:1)

我将永远小于3 ...直到它击中Int.MinValue - 1(溢出)。

答案 2 :(得分:1)

您正确的做法应该是设置最小值以及最大值,例如

以下
int i = new Random().Next(3);

while (i>0 && i <= 3)
    {

        Console.WriteLine("Hello World");

        i--;
    }**

答案 3 :(得分:1)

我认为如果你改变代码来说'i ++&#39;而不是&#39; i - &#39;你会得到你想要的结果。

int i = new Random().Next(3);
        while (i <= 3)
        {

            Console.WriteLine("Hello World");

            i++;
        }**