Random Number but Don't Repeat

后端 未结 4 1898
轻奢々
轻奢々 2020-12-02 03:12

I would like to generate a random number less than 50, but once that number has been generated I would like it so that it cannot be generated again.

Thanks for the h

4条回答
  •  感情败类
    2020-12-02 03:58

    Seeing as the question was tagged VB/VB.Net... this is a VB implementation of Mitch's answer.

    Public Class Utils
    
       Public Shared Sub ShuffleArray(ByVal items() As Integer)
    
          Dim ptr As Integer
          Dim alt As Integer
          Dim tmp As Integer
          Dim rnd As New Random()
    
          ptr = items.Length
    
          Do While ptr > 1
             ptr -= 1
             alt = rnd.Next(ptr - 1)
             tmp = items(alt)
             items(alt) = items(ptr)
             items(ptr) = tmp
          Loop
    
       End Sub
    
    End Class
    

提交回复
热议问题