首页 >后端开发 >C++ >如何在 C# 中生成六个唯一的随机彩票号码?

如何在 C# 中生成六个唯一的随机彩票号码?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-12 13:41:42526浏览

How to Generate Six Unique Random Lottery Numbers in C#?

C#彩票程序:生成不重复的随机号码

问题:

如何编写一个程序,生成六个唯一的彩票号码,确保一行中没有重复的号码?

初始代码片段:

<code class="language-csharp">// 使用随机数对象生成6个随机数

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();</code>

问题:

初始代码片段可以生成随机数,但同一行中可能会出现重复的数字。

解决方案:

为了生成唯一的随机数,我们需要将生成的数字存储在一个集合中,并检查每个新的随机数是否已存在。如果发现重复,则生成一个新的随机数,直到找到一个唯一的数字为止。

或者,我们可以使用一种更高效的方法:生成一个1到49之间的数字序列,使用OrderBy和rnd.Next()方法对其进行洗牌,然后从洗牌后的序列中选择前六个数字。

<code class="language-csharp">var rnd = new Random();
var randomNumbers = Enumerable.Range(1, 49).OrderBy(x => rnd.Next()).Take(6).ToList();</code>

以上是如何在 C# 中生成六个唯一的随机彩票号码?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn