簡體   English   中英

RandomNumber 方法每次調用都返回相同的數字

[英]RandomNumber method returns same number every time called

每次從我的 for 循環中調用我的 RandomNumber 方法時,我都試圖生成一個不同的隨機數。 現在,它每次都返回相同的數字。

這是我的 RandomNumber 方法:

    private int RandomNumber(int min, int max)
    {
        Random random = new Random();
        return random.Next(min, max);
    }

這是我在其中使用它的上下文:(它有點亂只是因為我一直在試圖讓它工作......)

        for (int i = 0; i < charsRaw.Length; i++)
        {
            int max = charsRaw.Length - 1;
            int rand = 0;
            rand = RandomNumber(0, max);

            charsNew[i] = charsRaw[rand];
            text2 += charsNew[i];

         }

每次用 for 循環調用它時,我似乎無法讓它返回不同的值。

雖然,當我在 text2 += charsNew[i] 之后粘貼 MessageBox.Show(rand.ToString()) 時,它每次都會給我一個不同的值,並且按我預期的方式工作。 奇怪的。

謝謝! 埃里克

隨機實例化一次。 在同一實例上多次調用 Next()。

MSDN

隨機數生成從種子值開始。 如果重復使用同一個種子,就會生成同一系列的數字

如果您確實希望重復實例化 Random,請每次使用不同的種子。

沒有什么可以說真正的隨機序列每次都不能是相同的數字:.-)它合法的可能性很小,所以你永遠無法真正確定。 鴨子掩護

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM