在VB.NET中使用Rnd()之前的Randomize()

Cyc*_*one 3 vb.net random

我之前被告知我应该Randomize()在使用VB.NET应用程序之前使用Rnd()它.然而,没有它,似乎总能正常工作.在这种情况下,添加对我有什么影响?Randomize()

它似乎不会影响我的应用程序.

Phi*_*eck 8

在Visual Basic中,Rnd()使用数学运算来生成下一个"随机"数字.因为实际操作是已知的,所以给定特定值,您可以预测下一个值.但是,给定一个仲裁起始值,数字具有良好的分布 - 这些是"伪随机"数字.

为了防止Rnd()startng处于可预测的数字(因此每次都给出相同的"随机"数字序列),应调用Randomize()以使用机器时钟来设置初始值(称为种子).

(在.NET世界中,如果可以,我会使用System.Random.)