我使用的是一个System.Random对象,它是通过一个固定的种子实例化的,所有这些都考虑了应用程序。我正在调用NextDouble方法,经过一段时间后,我得到的结果是0.0。
有什么办法解决这个问题吗?有没有其他人遇到过这个问题?
编辑:为了方便起见,我在整个运行过程中只有一个种子设置为1000。random.NextDouble被调用了几十万次。这是一个优化器应用程序,可以运行几个小时,但这实际上发生在10-0分钟的执行之后。我最近向应用程序添加了更多的随机呼叫。
发布于 2008-11-17 15:56:17
Tomas,我以前遇到过这个"bug“,我的解决方案是让_rnd变量成为模块级的:
Private Shared _rnd As System.Random()
Public Shared Function RandRange(ByVal low As Integer, ByVal high As Integer) As Integer
If _rnd Is Nothing Then
_rnd = New System.Random()
End If
Return rnd.Next(low, high)
End Functionhttps://stackoverflow.com/questions/295900
复制相似问题