相关疑难解决方法(0)

.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
查看次数

标签 统计

.net ×1

c# ×1

random ×1