如何随机重复?

时间:2015-11-09 15:14:07

标签: c# random

我怎样才能一遍又一遍地重复随机,直到布尔变为真,并将它保存在之前的所有rand? 我的随机是:

Random random = new Random();
int colorFlash = random.Next(1, 5);

我的布尔是:

bool winner = false

2 个答案:

答案 0 :(得分:0)

我同意评论中的人们相信缺少相当多的信息,所以我填补了空白:

        var allRandoms = new List<int>();
        bool winner = false;

        Random random = new Random();

        while(!winner)
        {
            int colorFlash = random.Next(1, 5);

            winner = (colorFlash == 4);

            allRandoms.Add(colorFlash);
        }

我已经设置了一个列表&#39; allRandoms&#39;捕获生成的所有随机数。 我创建了一个while循环,直到获胜者为真。 我在我的while循环中添加了一个条件,它将设置“赢家”#39;如果colorFlash等于4,则为true,这样我们最终可以突破while循环。你可能需要一个更好的方法来结束这个循环,但它必须为这个例子做。 然后,您可以浏览每个“所有随机”中的所有内容。以下内容:

            foreach(var i in allRandoms)
            {
                Console.WriteLine(i);
            }

编辑: 同样需要注意的是,这会将所有随机数字(包括我们停留的随机数)添加到“所有随机数”中。列表。

答案 1 :(得分:0)

将colourFlashes保存在集合中,并使用while循环表示until。或者,如果您总是希望至少进行一次迭代,请使用do-while loop

//Create a collection to save our results
var colorFlashes = new List<int>();

while (winner == false)
{
  colorFlashes.Add(random.Next(1, 5));
}