读书人

关于抽起一个随机数~该怎么处理

发布时间: 2012-03-02 14:40:28 作者: rapoo

关于抽起一个随机数~~!
dim www() as integer
For i = 0 To 60
randomize()
www(i) = Convert.ToInt32(ints.Next(1, 137))
TextBox1.Text = TextBox1.Text & www(i) & " "
Next

让www()里面生成的随机数不能有重复的,请指教。

[解决办法]
如果在sql中,我直接使用 select top 60 * from tablename order by newid()

如果每个都要求判断会比较慢的.这个是效率问题.
不过也可以写出来的.

Imports System.Text.RegularExpressions
Imports System.Text
Imports System.Random
Imports System.Collections

Module Module1

Sub Main()
Dim www(60) As Integer
Dim rad As Random = New Random
Dim i As Integer
Dim table As Hashtable = New Hashtable '这里加个hashtable为了判断是否存在重复

For i = 0 To 59
Randomize()
www(i) = Convert.ToInt32(rad.Next(1, 137))
While (table.ContainsValue(www(i)))
www(i) = Convert.ToInt32(rad.Next(1, 137))
End While
table(i) = www(i)
Console.WriteLine(www(i))
Next
Console.ReadLine()
End Sub

End Module

读书人网 >VB Dotnet

热点推荐