随机数发生器,无需重复

时间:2015-07-11 05:04:15

标签: vb.net random

我是编程新手。我正在VB.net申请。我希望在加载特定表单时,随机数将生成为1 or 2 or 3。当第二次加载表单时,将从1, 2 or 3生成一个随机数,但与之前生成的不同。并且当第三次加载表格时,将从1, 2 or 3生成随机数,但是与之前的2次不同,即不重复随机数。

例如,如果在第一次表单加载时,随机数是3,那么第二次它应该是1或2.如果第二次表单加载RN是2,那么第三次表单加载它应该是1。

如果有人能帮助我在vb.net中编写此代码,我将感激不尽。

1 个答案:

答案 0 :(得分:0)

您可以从列表中获取下一个随机内容,然后将其删除,以便无法再次挑选。

Dim rndList As New List(Of Integer) From {1,2,3}
Static rnd As New Random
Do Until rndlist.Count = 0
  'get the index by random
  Dim nextValue As Integer = rnd.Next(0, rndList.Count))
  'this is the value at the index
  Debug.Write(rndList(nextValue))
  'remove this item 
  rndList.RemoveAt(nextValue)
Loop