【问题标题】:Conversion from string "word" to type 'Boolean' is not valid从字符串“word”到类型“Boolean”的转换无效
【发布时间】:2018-06-14 12:18:53
【问题描述】:
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 变量

【问题讨论】:

标签: vb.net


【解决方案1】:

你不能像那样比较字符串。您必须为每个 Or 重新检查 Alien(0).Text,否则它会尝试将您的字符串评估为 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

【讨论】:

  • 哇,非常感谢。这已经解决了问题,没有任何其他错误。非常感谢!
  • @Andrewsin:很高兴我能帮上忙,欢迎来到 Stack Overflow!请按帖子左侧的勾选/复选标记,将我的帖子标记为已接受的答案。欲了解更多信息,请参阅:How does accepting an answer work?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-30
  • 2015-02-09
  • 1970-01-01
相关资源
最近更新 更多