我有这段代码,但似乎“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)
答案 0 :(得分:0)
嗨,你的意思是你得到编译器警告? 如果是这样,你的代码工作,那么忽略它,否则你可以尝试 将有效字符设置为一个字符串,然后将字符串2设置为您要引用的字符串。
答案 1 :(得分:0)
数组索引从零(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将是零,这是+
答案 2 :(得分:0)
您将收到编译器警告(未使用的变量' randomChar'),您可以忽略它。
Rnd(min,max)从min(包括)变为max(独占),所以
Dim Int idx = Rnd(0,validchars.Length)
idx将从0变为(validchars.length-1)。以下数组访问始终有效。您的代码永远不会崩溃。