首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成大型随机数据集vb6/vb net

生成大型随机数据集vb6/vb net
EN

Stack Overflow用户
提问于 2008-12-01 23:18:59
回答 3查看 1.2K关注 0票数 1

在这两种语言中,有没有一种简单的方法可以快速生成大量随机数据?到目前为止,当我需要生成一组50万个字符时,我尝试过的所有函数都运行得不太好:(有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2008-12-01 23:29:35

使用UUIDGen。

不要,GUID并不是随机的。实际上,使用VB.NET中的System.Random类可以非常快速地生成大量数据。500,000个字符/字节是没有问题的:

代码语言:javascript
复制
Dim buffer As Byte() = Nothing
Array.Resize(buffer, 500000)
Call New Random().NextBytes(buffer)
My.Computer.FileSystem.WriteAllBytes("filename", buffer, False)

这段代码只需要不到一秒的时间。

票数 3
EN

Stack Overflow用户

发布于 2008-12-02 13:20:45

在VB6中,代码应该是这样的

代码语言:javascript
复制
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秒。

票数 0
EN

Stack Overflow用户

发布于 2008-12-01 23:22:53

使用UUIDGen。至少块会更大。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/332580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档