当前位置:编程学习 > C#/ASP.NET >>

一个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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,