Visual Basic随机数生成

时间:2015-11-22 00:20:15

标签: .net vb.net

此代码是否会产生1到100或1到99的数字?

 Dim oneDieGenerator As New Random
 FirstDieLabel.Text = oneDieGenerator.Next(1, 100)

2 个答案:

答案 0 :(得分:1)

简答: 1到99。

带有解释的长答案Random.Next Method (Int32, Int32)的MSDN文档摘录提供了有关如何使用参数的说明:

  • minValue:返回的随机数的包含下限。
  • maxValue:返回的随机数的独占上限。 maxValue必须大于或等于minValue。

注意我突出显示了包容性独占这两个词 - 这些很重要。以上仅仅意味着

的结果
oneDieGenerator.Next(1, 100)

从1到100,但不包括100.现在,如果你查看这个方法的返回值,你会注意到它是一个整数,意味着不包括100与99相同.BTW,{{{ 1}}正是这样说的:

  • 大于或等于minValue且小于maxValue的32位有符号整数;也就是说,返回值的范围包括minValue但不包括maxValue。

好吧,也许不够清楚。无论如何,您可以通过示例推断出这种行为 - 请参阅下面的MSDN page I linked

  • 从1到10的随机整数< - 生成它们,它们使用Return Value

答案 1 :(得分:0)

您的代码将生成1到99之间的数字

您可以通过将最小值设置为0并将最大值设置为1来自行查找代码将生成的数字,并多次运行代码以查看它是否会为您提供数字1.