相关疑难解决方法(0)

如何播种随机类以避免获得重复的随机值

我在静态类中的静态方法中有以下代码:

Random r = new Random();
int randomNumber = r.Next(1,100);
Run Code Online (Sandbox Code Playgroud)

我在循环中有这个,我一直都这样randomNumber!

这里有什么建议?

c# random

110
推荐指数
5
解决办法
16万
查看次数

.NET Framework:随机数生成器生成重复模式

编辑:这不是重复,它不是对如何使用随机数生成器的天真误解的结果.谢谢.

我似乎在System.Random类生成的数字中发现了重复模式.我正在使用"主"Random实例为第二个"主"Random实例生成种子.此主要Random实例生成的值显示重复模式.特别是,产生的第3个数字是非常可预测的.

下面的程序演示了这个问题.请注意,每次循环使用不同的种子值.

using System;

class Program
{
    static void Main(string[] args)
    {
            // repeat experiment with different master RNGs
        for (int iMaster = 0; iMaster < 30; ++iMaster)
        {
                // create master RNG
            var rngMaster = new Random(iMaster + OFFSET);

                // obtain seed from master RNG
            var seed = rngMaster.Next();

                // create main RNG from seed
            var rngMain = new Random(seed);

                // print 3rd number generated by main RNG
            var ignore0 = rngMain.Next(LIMIT);
            var ignore1 = rngMain.Next(LIMIT);
            var randomNumber …
Run Code Online (Sandbox Code Playgroud)

.net c# random

46
推荐指数
1
解决办法
3774
查看次数

标签 统计

c# ×2

random ×2

.net ×1