首頁 >後端開發 >C++ >如何在 C# 中產生六個獨特的隨機彩票號碼?

如何在 C# 中產生六個獨特的隨機彩票號碼?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-12 13:41:42456瀏覽

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