在这两种语言中,有没有一种简单的方法可以快速生成大量随机数据?到目前为止,当我需要生成一组50万个字符时,我尝试过的所有函数都运行得不太好:(有什么想法吗?
发布于 2008-12-01 23:29:35
使用UUIDGen。
不要,GUID并不是随机的。实际上,使用VB.NET中的System.Random类可以非常快速地生成大量数据。500,000个字符/字节是没有问题的:
Dim buffer As Byte() = Nothing
Array.Resize(buffer, 500000)
Call New Random().NextBytes(buffer)
My.Computer.FileSystem.WriteAllBytes("filename", buffer, False)这段代码只需要不到一秒的时间。
发布于 2008-12-02 13:20:45
在VB6中,代码应该是这样的
Public Function FillRandomCol() as Collection
Dim C As Collection
Dim I As Long
Set C = New Collection
Randomize Timer
For I = 1 To 500000
C.Add RandomChar
Next I
Set FillRandomCol = C
End Sub
Public Function Random(ByVal Number As Integer) As Integer
Random = CLng(Rnd * 1000000) Mod Number + 1
End Function
Public Function RandomChar() As String
Const AlphaNum = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
RandomChar = Mid$(AlphaNum, Random(36), 1)
End Function在双核英特尔2.40 GHz计算机上需要1/2秒。
发布于 2008-12-01 23:22:53
使用UUIDGen。至少块会更大。
https://stackoverflow.com/questions/332580
复制相似问题