我之前被告知我应该在 VB.NET应用程序中使用Rnd()之前始终使用Randomize().然而,没有它,似乎总能正常工作.在这种情况下,添加Randomize()对我有什么作用? 它似乎不会影响我的应用程序. 在
它似乎不会影响我的应用程序.
在Visual Basic中, Rnd()使用数学运算生成下一个“随机”数字.因为实际操作是已知的,所以给定特定值,您可以预测下一个值.但是,给定一个仲裁起始值,数字具有良好的分布 – 这些是“伪随机”数字.为了使Rnd()从startng保持在可预测的数字(因此每次都给出相同的“随机”数字序列),应该调用Randomize()来使用机器时钟来设置初始值(称为种子).
(在.NET世界中,如果可以,我会使用System.Random.)