C#为什么播种随机发生器会停止我的程序?

时间:2012-03-01 17:10:31

标签: c# random xna

所以我在我的一个类中声明了一个随机生成器

static Random random = new Random(DateTime.Now.Millisecond);

当在类中调用函数时,即使该函数为空,它似乎阻止整个程序运行。

static Random random = new Random();

但是当我这样做时,它按预期工作了吗?

编辑代码:

这个程序特别是XNA Game,所以这里是更新功能

protected override void Update(GameTime gameTime)
{
    Debug.WriteLine("This happenens");
    EnemyController.generateEnemies();
    Debug.WriteLine("This does not");
}

这是其他课程的一部分

public static class EnemyController
{
    static Random random = new Random(DateTime.Now.Millisecond);

    public static void generateEnemies()
    {
        Debug.writeLine("This code wont run");
    }
}

1 个答案:

答案 0 :(得分:3)

如无参数构造函数的System.Random的MSDN文档中所述:

  

使用与时间相关的默认种子值初始化Random类的新实例。

如果您对Random的实例化实际上阻止了您的代码,那么就知道您不需要随时间播种它。但是,我会研究代码阻止的其他可能性。

相关问题