我有这段代码,但似乎"randomChar“是未使用的变量。
Dim validchars(3) As String
Dim i As Int
validchars(0) ="+"
validchars(1) ="-"
validchars(2) ="*"
Dim idx As Int = Rnd(0, validchars.Length)
Dim randomChar As String = validchars(idx)发布于 2015-04-21 19:25:30
嗨,你的意思是你得到了一个编译器警告?如果是这样,并且您的代码可以正常工作,则忽略它,否则您可以尝试将有效字符设置为一个字符串,然后substring2您ant要引用的字符。
发布于 2016-01-21 00:11:18
数组索引从零(0)开始,所以如果随机的ie idx生成3,从技术上讲,它应该是你的数组中的2,所以对于你当前的代码,它会给出错误,因为3将不存在。
有效字符及其数组索引(+ index为0,- index为1,* index为2)
修复从idx中减去1,并从1开始Rnd
Dim idx As Int = Rnd(1, validchars.Length)
Dim randomChar As String = validchars(idx - 1)在这种情况下,如果idx (即随机生成的数字是3,加上负1,它将等于2,即*),同样,如果idx为1-1,则为0,即+
发布于 2017-04-22 06:06:11
您将得到一个编译器警告(未使用的变量'randomChar'),您可以忽略它。
Rnd( min,max)从min(包括)到max (exclusive),因此
Dim Int idx = Rnd(0,validchars.Length) idx将从0到(validchars.length-1)。以下数组访问将始终有效。你的代码永远不会崩溃。
https://stackoverflow.com/questions/29727154
复制相似问题