【发布时间】:2018-10-16 11:00:39
【问题描述】:
所以我正在做交易或不交易,我目前正在尝试随机化哪个案例持有多少金额。目前,我的代码创建了值列表,然后随机化一个选择,然后输入到数组中。然后它将 26 个值输出到控制台。现在,当从列表中选择一个值并将其输入到数组中时,我希望将该值从列表中删除。因此,当循环重复并从列表中选择另一个项目时,它不能再选择在前一个循环中选择的那个。
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim i As Integer
Dim values = New List(Of Integer)({0.5, 1, 2, 5, 10, 15, 25, 50, 80, 100, 500, 750, 1000, 2000, 5000, 10000, 25000, 50000, 80000, 100000, 150000, 250000, 500000, 850000, 1000000, 10000000})
Dim sselect = New Random()
Dim cases(25) As Integer
For i = 0 To cases.Length - 1
cases(i) = sselect.Next(0, values.Count)
Console.WriteLine(values(cases(i)))
Next
End Sub
我尝试使用RemoveAll 然后AddressOf 删除重复值,但它似乎不起作用。
values.RemoveAll(AddressOf cases)
【问题讨论】:
-
如果您阅读了
System.Random上的精美手册,有一节讨论了使用Random进行随机播放的潜在方法。请参阅“从数组或集合中检索唯一元素”部分。 -
列表的第一个元素 0.5 不是整数。
-
AddressOf 正在寻找方法名称。