从字符串“word”到“Boolean”类型的转换无效

时间:2018-01-04 17:49:15

标签: vb.net

Do While Alien(0).Text = Alien(1).Text Or Alien(2).Text Or Alien(3).Text Or Alien(4).Text Or Alien(5).Text
     rand()
     Alien(0).Text = WordBank(Word)
Loop

rand()在数组中选择一个随机单词,并将随机单词分配给Word变量

1 个答案:

答案 0 :(得分:3)

你无法比较那样的字符串。您必须为每个Alien(0).Text重新检查Or,否则它会尝试将您的字符串评估为Boolean值(True或False)。

这就是你得到错误的原因:一个字符串("True""False"除外)无法转换为Boolean,因为编译器如何知道如何转换为实例"Bear"变为TrueFalse

此外,最好使用OrElse,因为它是short-circuited,这意味着如果一次检查成功,则不会检查其余部分。

Do While Alien(0).Text = Alien(1).Text OrElse Alien(0).Text = Alien(2).Text OrElse Alien(0).Text = Alien(3).Text OrElse Alien(0).Text = Alien(4).Text OrElse Alien(0).Text = Alien(5).Text