首页 > 解决方案 > Random() 似乎一点也不随机

问题描述

Random()似乎一点也不随机,它一直在重复这种模式。

我怎样才能使这个“更多”随机?

Dim ioFile As New System.IO.StreamReader("C:\names.txt")
Dim lines As New List(Of String)
Dim rnd As New Random()
Dim line As Integer
While ioFile.Peek <> -1
    lines.Add(ioFile.ReadLine())
End While
line = rnd.Next(lines.Count + 0)
NAMES.AppendText(lines(line).Trim())
ioFile.Close()
ioFile.Dispose()
Clipboard.SetText(NAMES.Text)

标签: vb.netvisual-studiorandom

解决方案


这对我来说很好。我改变了一些东西,比如实现一个 using 块,删除了多余的 0,并添加了一个循环来测试 100 次以进行调试。您只是“目测”的 200 个样本不足以说随机序列“不起作用”。

Using ioFile As New System.IO.StreamReader("C:\names.txt")
        Dim lines As New List(Of String)
        Dim rnd As New Random()
        Dim line As Integer
        While ioFile.Peek <> -1
            lines.Add(ioFile.ReadLine())
        End While
        For i As Integer = 1 To 100
            line = rnd.Next(lines.Count)
            Debug.WriteLine(lines(line).Trim())

        Next

End Using

推荐阅读