c# – “new Random(x)”总是生成相同的数字?
发布时间:2020-12-15 19:51:14 所属栏目:百科 来源:网络整理
导读:参见英文答案 Random number generator only generating one random number????????????????????????????????????9个 我想获得一个唯一的随机数,但每次运行代码时我都会得到相同的数字.我会先得到14然后6但我的列表中保存所有使用的数字似乎不起作用.添加14
参见英文答案 >
Random number generator only generating one random number????????????????????????????????????9个
我想获得一个唯一的随机数,但每次运行代码时我都会得到相同的数字.我会先得到14然后6但我的列表中保存所有使用的数字似乎不起作用.添加14手动工作,但当我添加randInt它不起作用. const int numCards = 32; List<int> usedCards = new List<int>(); int randInt = 0; Random rand = new Random(numCards); usedCards.Add(14); do { randInt = rand.Next(0,numCards); MessageBox.Show(randInt.ToString(),"End Game",MessageBoxButtons.OK,MessageBoxIcon.Exclamation); } while (usedCards.Contains(randInt)); usedCards.Add(randInt); 解决方法
更换:
Random rand = new Random(numCards); 同 Random rand = new Random(); 在 例如,使用固定种子1并绘制10个数字,范围从0到100,在我的机器上始终生成序列 24,11,46,77,65,43,35,94,10,64 另一方面,不使用种子值,序列变得不可预测. 如果没有传入种子值,Random将根据当前时间生成一个新的种子值,这就是你想要获得一个新的随机数序列 – 只要你不按快速顺序再次初始化它,这就是你应该重新开始的原因-use随机实例,而不是每次都重新创建它们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |