大家好。
我没有什么问题,根本没有意义。所以我有点简单的循环。我想创建随机整数并删除该整数的特定数组的索引。
完美的工作:
For i = 1 To CInt(rastgelesoru.Text)
Dim Rand As New Random()
Dim xIndex As Integer = Rand.Next(0, AList.Count - 1)
Dim SelectedValue = AList(xIndex)
Dim eklepanelrnd As Panel = CType(containerpanel.Controls(SelectedValue), Panel)
If eklepanelrnd.Tag = "1" Then
MsgBox(xIndex)
containerpanelrastgele.Controls.Add(eklepanelrnd)
End If
AList.RemoveAt(xIndex)
Next
例如,我在数组中有500个元素。当我添加如上所述的消息框时,它完美无缺。我得到随机数字。 (最后输出100,65,355,27,472为5)。但是当我删除msgbox行时,我每次都会收到连续的号码。首先,我认为它可能真的是随机的'但不是。每次我得到连任。 (23,24,25,160,161最后输出为5,没有msgbox行。)
没有msgbox行无法正常工作。
For i = 1 To CInt(rastgelesoru.Text)
Dim Rand As New Random()
Dim xIndex As Integer = Rand.Next(0, AList.Count - 1)
Dim SelectedValue = AList(xIndex)
Dim eklepanelrnd As Panel = CType(containerpanel.Controls(SelectedValue), Panel)
If eklepanelrnd.Tag = "1" Then
containerpanelrastgele.Controls.Add(eklepanelrnd)
End If
AList.RemoveAt(xIndex)
Next
答案 0 :(得分:1)
@AlexB。评论。
不要在循环中创建Random对象,只能创建一个。所以在循环之前将Dim Rand作为New Random()移动。
现在工作完美。谢谢< 3祝你有美好的一天。