Random.Next - 我不明白

时间:2013-10-23 02:44:07

标签: .net vb.net random

我真的不了解Random.Next(minValue,maxValue)。 这总是给我“1”:

rnd.Next(1,2)

然而,这似乎创造了1或2:

rnd.Next(1,3)

但是,由于第二个参数被称为“maxValue”,它是否也应该包含在Random.Next()的可能结果中?

2 个答案:

答案 0 :(得分:11)

如果API说不包含它,则不行。

http://msdn.microsoft.com/en-us/library/2dx6wyd4.aspx

表示maxValue是一个独占值,minValue是包含在内的。所以不,它不包括maxValue。

编辑:这为使用您不熟悉的API时的操作提供了良好的教学点。尽管变量名称在编码实践中应该清楚,以便尝试帮助程序员快速说明它应该是什么意思,以及它的用途,但最佳做法是查看该函数的API文档(如果可用)更详细地了解它的作用。我希望这有帮助!

答案 1 :(得分:0)

Dim rnd as new Random
Dim randv as integer

randv = rnd.next(minValue, maxValue)

设置“new”以在最小值和最大值之间生成更多不同的整数

如果你设置了这个,你会得到许多不同的随机整数

randv = rnd.next(0, 99999)