我如何進行這項作業,因為亂數 x 存在于要生成的串列中,直到串列中不存在數字 x。所以生成直到它找到串列中不存在的數字。
Dim listwithdeck As New List(Of Integer)
While listwithdeck.Contains(num) = False
MessageBox.Show(num)
num = rnd.Next(2, 15)
listwithdeck.Add(num)
End While
uj5u.com熱心網友回復:
此代碼將一直運行,直到產生重復的亂數。
Private rnd As New Random
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim num As Integer
Dim listwithdeck As New List(Of Integer)
Do
num = rnd.Next(2, 15)
If listwithdeck.Contains(num) Then
Exit Do
Else
listwithdeck.Add(num)
End If
Loop
For Each i In listwithdeck
Debug.Print(i.ToString)
Next
End Sub
uj5u.com熱心網友回復:
如果您正在尋找兩個數字之間的隨機串列,請嘗試此操作。
對于2 和 15,呼叫將是 RandList( 2,16 )。
Private Shared PRNG As New Random
''' <summary>
''' returns a list of random integers between minIncl and maxExcl -1
''' </summary>
''' <param name="minIncl">minimum number</param>
''' <param name="maxExcl">maximum number, not included</param>
''' <returns></returns>
''' <remarks></remarks>
Private Function RandList(minIncl As Integer, maxExcl As Integer) As List(Of Integer)
Dim rv As IEnumerable(Of Integer)
rv = Enumerable.Range(minIncl, maxExcl - minIncl).OrderBy(Function() PRNG.Next)
Return rv.ToList
End Function
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/402853.html
標籤:
上一篇:打開外部應用程式后,將Windows表單視窗回傳到前面
下一篇:檢查檔案夾是否打開
