随机数发生器,没有重复 [英] Random number generator with no duplicates

查看:115
本文介绍了随机数发生器,没有重复的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

基本上我创建一个程序随机生成6个独特的开奖号码所以在同一行没有重复,这里是code我到目前为止...

Basically I'm creating a program to randomly generate 6 unique lottery numbers so there is no duplicates in the same line, here is the code I have so far...

        //Generate 6 random numbers using the randomiser object

        int randomNumber1 = random.Next(1, 49);
        int randomNumber2 = random.Next(1, 49);
        int randomNumber3 = random.Next(1, 49);
        int randomNumber4 = random.Next(1, 49);
        int randomNumber5 = random.Next(1, 49);
        int randomNumber6 = random.Next(1, 49);

        textBox1.Text = randomNumber1.ToString();
        textBox2.Text = randomNumber2.ToString();
        textBox3.Text = randomNumber3.ToString();
        textBox4.Text = randomNumber4.ToString();
        textBox5.Text = randomNumber5.ToString();
        textBox6.Text = randomNumber6.ToString();

    }

我得到的随机数但有时在同一行上相同的号码,如何使每个编号唯一????

I'm getting random numbers but sometimes there is the same number on the same line, how do I make each number unique????

在此先感谢

推荐答案

您需要将它们存储在一个集合中,你选择你需要确保它不是present已经是一个新的号码各一次,否则你需要产生一个新的号码,直到找到一个唯一的编号。

You need to store them in a collection and each time you pick a new number you need to make sure it's not present already, otherwise you need to generate a new number until you find a unique number.

取而代之的是,我会产生 1 之间的顺序和 49 ,打乱他们并挑选6号出序列的,例如:

Instead of this, I would generate a sequence between 1 and 49, shuffle them and pick 6 number out of the sequence, for example:

var rnd = new Random();
var randomNumbers = Enumerable.Range(1,49).OrderBy(x => rnd.Next()).Take(6).ToList();

这篇关于随机数发生器,没有重复的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆