我有一个包含24个元素的1维数组。我想以随机顺序遍历所有这些。我知道如何从1 - 24循环它们,但如何随机选择一个然后另一个,依此类推直到所有元素都被选中?
我使用类似VB的脚本语言(QAWizard),所以我认为任何想法或VB代码都足够了。
答案 0 :(得分:2)
您可以使用LINQ' OrderBy
和Random.Next
随机订购:
Private Shared _rnd As New Random
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
Dim arr As Integer() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
For Each value In arr.OrderBy(Function(x) _rnd.Next())
Debug.WriteLine(value)
Next
End Sub
答案 1 :(得分:1)
您可以使用LINQ:
Dim randomOrder = From item In yourArray Order By Guid.NewGuid()
For Each item In randomOrder
Next
Guid
技巧不是随机化"的最佳方法。一个集合,看看像这样的随机方法:https://stackoverflow.com/a/7513502/284240