正在发生某种事情,我不了解其背后的原因。
在Visual Basic中,我有一个2D整数数组,该数组中填充了随机数。当我使用Rnd()进行操作时:
For j = 0 To matrix.GetUpperBound(0)
For i = 0 To matrix.GetUpperBound(1)
matrix(j, i) = 1 + CType((Rnd() * 50), Integer)
Next
Next
它总是在矩阵的相同位置写入相同的数字。
但是当我对Random类进行操作时:
Dim r As Random = New Random()
For j = 0 To matrica.GetUpperBound(0)
For i = 0 To matrica.GetUpperBound(1)
matrica(j, i) = r.Next(0, 100)
Next
Next
它可以完成预期的工作。
我不明白为什么在每种情况下,每次运行代码时,我都会在同一位置得到相同的数字。