Vb.net Visual Basic Randomize()与新随机
似乎不再使用Vb.net Visual Basic Randomize()与新随机,vb.net,random,Vb.net,Random,似乎不再使用Randomize()&Rnd() 相反,人们会做出这样的事情: Dim rng as New Random() Dim randomNo as Integer = rng.Next(10) ' this is a random number between 0 and 10. Dim anotherRandomNo as Integer = rng.Next(10) ' a different random number. 有人能告诉我为什么在大多数情况下这被认为是“更好”的吗?
Randomize()
&Rnd()
相反,人们会做出这样的事情:
Dim rng as New Random()
Dim randomNo as Integer = rng.Next(10) ' this is a random number between 0 and 10.
Dim anotherRandomNo as Integer = rng.Next(10) ' a different random number.
有人能告诉我为什么在大多数情况下这被认为是“更好”的吗?有几个原因
Random
具有更强大的功能。。看一看
而且,更重要的是,旧的随机
内置于随机
对象的实例化中。默认情况下,不带随机化的Rnd
总是以相同的种子编号开始。如果在程序开始时没有使用“随机化”,则每次运行时,它都会生成相同的数字序列
最后,在内部,
Random
对象以不同的方式生成具有更好随机性的数字。请将您的代码作为代码,而不是问题中的明文。仅供参考:rng。下一步(10)
生成一个介于0
和9
之间的整数。Randomize()
和Rnd()
提供了VB6(pre-.NET)的向后兼容性。说它们不再被使用,实际上就是说它们在2001年就过时了。现在已经17年过去了,他们应该已经完全死去了。Random
类是BCL的一部分。System.Security.Cryptography
中的类是您在做任何需要强加密随机数的事情时真正想做的。非常感谢,这非常有帮助