我正在使用这个共享函数生成基本的随机数:
Public Shared Function RandomNumber(ByVal MaxNumber As Integer, Optional ByVal MinNumber As Integer = 0) As Integer
'initialize random number generator
Dim r As New Random(Date.Now.Ticks And &HFFFF)
If MinNumber > MaxNumber Then
Dim t As Integer = MinNumber
MinNumber = MaxNumber
MaxNumber = t
End If
Return r.Next(MinNumber, MaxNumber)
End Function
像这样调用:dim x as integer = Random(2100000000)
非常简单,种子值直接来自 MS 示例。
问题是:我有时会收到重复的数字,但总是在通常至少相隔 5 或 10 分钟的时间创建。我可以查看我是否每秒或毫秒多次调用该函数,因为这有点“破坏”种子。但这些都在较长的时间跨度内出现。还有什么可能导致这种情况?