gpt4 book ai didi

c# - 每次调用随机数方法返回相同的数字

转载 作者:太空狗 更新时间:2023-10-29 20:52:31 24 4
gpt4 key购买 nike

每次从我的 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 :

The random number generation starts from a seed value. If the same seed is used repeatedly, the same series of numbers is generated

如果您确实希望重复实例化 Random,请每次使用不同的种子。

关于c# - 每次调用随机数方法返回相同的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1004929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com