一个new Random的问题,各位高手帮忙一下啊
Random rand =new Random((int)DateTime.Now.Ticks);
this.Label1.Text = rand.Next(35).ToString();
Random rand = new Random();
this.Label2.Text = rand.Next(35).ToString();
以上代码,运行后,好像效果都是一样的,请问new Random((int)DateTime.Now.Ticks)和new Random()有什么区别吗?
可否详细的讲出两个的区别,不胜感激。
--------------------编程问答-------------------- new Random((int)DateTime.Now.Ticks)和new Random() 区别不大
如果使用new random(int seed)来创建一个random对象,那么它是根据传入的seed作为种子,上面的代码就是使用时间作为种子
如果使用new random()来创建一个random对象,那么它会采用当前时间作为种子
所以上面两个效果是基本一样的。
但是,如果你在不同的时间使用new random(100)来创建两个不同的random对象,那么他们产生的序列将会一样,原因是他们的种子相同,都是100。
在某些时候,你希望能够产生和上次相同的随机序列,那么你就可以把上次的随机种子保存下来,下次用来初始化Random对象就可以了。 --------------------编程问答-------------------- 如果使用new random()来创建一个random对象,那么它会采用当前时间作为种子
--------------------
是以获取系统启动后经过的毫秒数为种子的随机数,而不是当前时间。
补充:.NET技术 , C#