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

如何在 C# 中產生不重複的隨機數?

Linda Hamilton
發布: 2025-01-21 13:11:10
原創
845 人瀏覽過

How to Generate Non-Repeating Random Numbers in C#?

在 C# 中產生不重複的隨機數

在需要產生隨機唯一數字的應用程式開發中,開發人員經常會遇到 System.Random 類別的問題。即使使用了 DateTime.Now.Ticks 作為種子,仍然可能出現重複數字的情況。

解重複值問題

System.Random.Next() 本身並不能保證產生的數字的唯一性。當結合較窄的範圍(例如 0 到 10)時,遇到重複值的機率會更高。

替代方法:列表維護

為了克服這個限制,更健壯的方法是維護一個已產生數字的清單。透過檢查潛在數字是否已存在於清單中,可以避免重複。

以下是使用此策略的修改後的實作:

<code class="language-csharp">public Random a = new Random();
public 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>
登入後複製

透過維護已產生數字的清單並過濾掉重複項,這種方法確保了真正唯一值的建立。

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

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