Vb.net 显示来自RNG的多个数字

Vb.net 显示来自RNG的多个数字,vb.net,Vb.net,我试图做的是创建一个RNG按钮,它将在1-99之间生成5个唯一的数字。这就是我到目前为止所做的: Private Sub GenerateButton_Click(sender As Object, e As EventArgs) Handles GenerateButton.Click Dim rand As New Random() Dim rememberset As New HashSet(Of Integer) Dim value As Integer

我试图做的是创建一个RNG按钮,它将在1-99之间生成5个唯一的数字。这就是我到目前为止所做的:

Private Sub GenerateButton_Click(sender As Object, e As EventArgs) Handles GenerateButton.Click
    Dim rand As New Random()
    Dim rememberset As New HashSet(Of Integer)
    Dim value As Integer

    While rememberset.Count < 6
        value = rand.Next(1, 99)
        If rememberset.Add(value) Then
            LotteryLabel.Text = value.ToString()
        End If
    End While
End Sub
Private Sub-GenerateButton\u Click(发送方作为对象,e作为事件参数)处理GenerateButton。单击
Dim rand作为新的Random()
Dim MemberSet作为新哈希集(整数的)
将值设置为整数
当记忆集计数小于6时
value=rand.Next(1,99)
如果rememberset.Add(值),则
LotteryLabel.Text=value.ToString()
如果结束
结束时
端接头

每次我点击生成按钮,我只得到一个数字。我试图让5以这种格式显示(1,2,3,4,5)。有什么想法吗?谢谢。

您的彩票标签。文本总是设置为只有一个数字的字符串(我猜您将只看到最后一个数字)

您需要附加值:简单(但可能慢)的解决方案应该是


LotteryLabel.Text=LotteryLabel.Text&“,”&value.ToString()

您只有一个标签,因此不清楚如何显示其他五个值。使用列表框?您的标签只是显示最后一次拾取,而不是上一次拾取。您也不需要哈希集来获取5个唯一值:
Dim picks=Enumerable.Range(1,99)。OrderBy(函数(r)rand.Next())。Take(5)。ToArray()
将完成所有操作。您的随机对象应该是类/窗体级别,而不是为每个按钮重新创建。单击以显示它们:
Label.Text=String.Join(“,”,picks)
一定要对该对象做笔记。比我的干净多了。谢谢