我真的不明白Random.Next(minValue,maxValue)。 這總是給我 「1」:Random.Next - 我不明白
rnd.Next(1,2)
然而,這似乎產生了1或2:
rnd.Next(1,3)
然而,作爲第二個參數被稱爲 「包括maxValue」,應該不會吧也包含在Random.Next()的可能結果中?
我真的不明白Random.Next(minValue,maxValue)。 這總是給我 「1」:Random.Next - 我不明白
rnd.Next(1,2)
然而,這似乎產生了1或2:
rnd.Next(1,3)
然而,作爲第二個參數被稱爲 「包括maxValue」,應該不會吧也包含在Random.Next()的可能結果中?
如果API聲明它不包含,則不應該。
http://msdn.microsoft.com/en-us/library/2dx6wyd4.aspx
說包括maxValue是一個獨特的價值和minValue(最小值)是包容。所以不,它不包含maxValue。
編輯:當使用您不熟悉的API時,這導致了一個很好的教導點。儘管在編程實踐中變量名應該清楚,以便幫助程序員快速瞭解它應該表達的含義以及它的用途,但最好還是查看該函數的API文檔(如果可用)更詳細地瞭解它的功能。我希望這有幫助!
Dim rnd as new Random
Dim randv as integer
randv = rnd.next(minValue, maxValue)
集「新」產生最小和最大值之間有更多不同的整數
如果你設置這個,你會得到很多不同的隨機整數
randv = rnd.next(0, 99999)
你甚至讀過這個問題嗎?他知道如何使用Random.next,他說他對maxValue參數的包容性感到困惑。 –
這背後的原因是使其更容易做一些事情,比如'someArray [rand.Next(0,someArray.Length)]'這樣做會給你一個來自整個數組範圍的隨機元素,並且永遠不會拋出'IndexOutOfBoundsException'而不必執行任何數學計算捕捉最大和最小指標。還有其他的「便利」,但最容易展現。 –