-2

有没有办法使用 vb.net 生成一个唯一的随机 6 位数字?所以没有重复的随机数?

我尝试了以下代码,但它显示“Type Char 没有构造函数”

Dim chars As String = "0123456789"
Dim word As Char() = New Char(6)
Dim rnd As New Random()
For i As Integer = 0 To word.Length - 1
word(i) = chars.Chars(rnd.Next(chars.Length))
Next
TheTextBox.Text = New String(word)
4

3 回答 3

6

这不行吗?意思是number为每条记录或它所用的任何内容增加。保证独一无二。

Dim number as integer = 100000
'do stuff
number +=1
于 2013-07-11T20:08:53.407 回答
2

尝试..

Dim randomNumber As Integer

Randomize() 

randomNumber = Int((100000* Rnd()) + 1) 

MsgBox(randomNumber)
于 2013-07-11T20:30:56.417 回答
0

就个人而言,我会使用 20 位的线性反馈移位寄存器。那是 1,048,575 个不同的值,而不是 1000000,但希望足够接近。

如果您想保持唯一性,请记住在运行之间保持当前种子值!

见:https ://en.wikipedia.org/wiki/Linear_feedback_shift_register

于 2013-07-11T20:59:10.267 回答