【问题标题】:Pick a random number from a set of numbers从一组数字中选择一个随机数
【发布时间】:2010-12-10 16:58:47
【问题描述】:

我有一个这样的整数数组; 将 x 调暗为 integer()={10,9,4,7,6,8,3}。 现在我想从中选择一个随机数,我该如何在 Visual Basic 中做到这一点?提前谢谢...

【问题讨论】:

标签: vb.net arrays


【解决方案1】:

首先你需要一个随机生成器:

Dim rnd As New Random()

然后你选择一个代表数组索引的随机数:

Dim index As Integer = rnd.Next(0, x.Length)

然后你从数组中获取值:

Dim value As Integer = x(index)

或者最后两个作为单个语句:

Dim value As Integer = x(rnd.Next(0, x.Length))

现在,如果您还想删除从数组中选取的数字,则一开始就不应该使用数组。您应该使用 List(Of Integer),因为它的大小是动态的。

【讨论】:

  • 或者,对于我们中间不太冗长的问题,您可以使用“dim value as integer = x(new random().next(0,x.length))” 还是认为太Java-适合VB'ers? :-)
  • 我会选择“难以维护”
  • @paxdiablo:我避免在同一个语句中创建 Random 对象,因为看起来你应该为你想要的每个随机数创建一个。如果您在循环中选择数字会很糟糕,因为随机生成器是使用系统计时器播种的,因此您将一遍又一遍地获得相同的随机数。
【解决方案2】:

从数组中随机选择一个从 0 到 length-1 的索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 2018-12-14
    • 2021-03-17
    相关资源
    最近更新 更多