所以我在我的一个类中声明了一个随机生成器
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");
}
}
答案 0 :(得分:3)
如无参数构造函数的System.Random的MSDN文档中所述:
使用与时间相关的默认种子值初始化Random类的新实例。
如果您对Random的实例化实际上阻止了您的代码,那么就知道您不需要随时间播种它。但是,我会研究代码阻止的其他可能性。