我得到「索引超出了數組的範圍」。使用此代碼時出現錯誤:索引超出了數組的範圍
Dim RandomA As String = "aAÀàÁâÄäÅåĀāĂ㥹ǞǟǺǻÃãÄ"
TextBox1.Text = TextBox1.Text.Replace("a", RandomA((Int(Rnd() * RandomA.Count)) - 1))
我無法看到(隨機)索引如何超出範圍?
我得到「索引超出了數組的範圍」。使用此代碼時出現錯誤:索引超出了數組的範圍
Dim RandomA As String = "aAÀàÁâÄäÅåĀāĂ㥹ǞǟǺǻÃãÄ"
TextBox1.Text = TextBox1.Text.Replace("a", RandomA((Int(Rnd() * RandomA.Count)) - 1))
我無法看到(隨機)索引如何超出範圍?
Int(Rnd() * RandomA.Count)
可能返回0,並且0-1超出邊界。
@Ben:Rnd函數的微軟文檔說「Rnd函數返回的值小於1,但大於或等於零。」 – 2012-11-17 22:28:09
@ OlivierJacot-Descombes:嘗試'Int(Double.Epsilon * RandomA.Count)' – 2012-11-17 22:31:16
它按預期返回0.0。你的解釋是可以的。我只是想解釋'Rnd'函數。 – 2012-11-17 22:39:17
這是一個肯定的邊緣條件。 在特定的隨機數條件下,方程評估爲-1。
不好解釋。 – 2012-11-17 22:29:27
本,請不要在標題中加入「(VB.NET)」標籤。只留下標籤。另外,還可以看看別人正在使用的標籤。你的太可怕了。 – 2010-07-06 00:31:52