首頁 > 後端開發 > C++ > 如何在 C# 中產生唯一的隨機數?

如何在 C# 中產生唯一的隨機數?

Mary-Kate Olsen
發布: 2025-01-21 13:21:10
原創
176 人瀏覽過

How Can I Generate Unique Random Numbers in C#?

C#中產生唯一隨機數

問題:

C#開發者經常面臨產生唯一隨機數的挑戰。即使使用了System.Random和DateTime.Now.Ticks作為種子,也可能遇到重複數字的問題。您能提出解決這個問題的替代方法嗎?

答案:

雖然Random.Next不能保證唯一性,但一個簡單的解決方案是維護一個已產生數字的清單。下面的演算法示範如何實現這一點:

<code class="language-csharp">public Random a = new Random();
private List<int> randomList = new List<int>();
int MyNumber = 0;

private void NewNumber()
{
    MyNumber = a.Next(0, 10);
    if (!randomList.Contains(MyNumber))
        randomList.Add(MyNumber);
}</code>
登入後複製

這段程式碼初始化一個Random實例(無需GetHashCode調用,因為預設內部已完成)和一個用於儲存已產生數字的清單。 NewNumber函數會產生一個0到9之間的隨機數,如果該數不在列表中,則將其加到列表中,從而確保在給定範圍內數字的唯一性。

以上是如何在 C# 中產生唯一的隨機數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板