我需要以下代码的帮助,因为它不起作用:
Do While answer = "Y" Or "y"
num = "0"
Console.WriteLine("Enter number")
num = Console.ReadLine
total = total + num
Console.WriteLine("Do you want to continue Y/N")
answer = Console.ReadLine
Loop
答案 0 :(得分:5)
在VB.NET中,逻辑和位运算符的优先级低于比较运算符,因此要求
Do While answer = "Y" or "y"
与询问
相同Do While (answer = "Y") or "y"
对于第一个条件,answer = "Y"
可以是true或false,对于第二个条件,"y"
既不是true也不是false - 它是一个字符串,所以该语句没有意义。
你的第二次测试应包括变量测试。像这样:
Do While answer = "Y" Or answer = "y"
当表达式为真时, answer = "y"
将被编译器解释为True
或False
。
就像问:“我的y
变量中的值是answer
吗?”
只需尝试将y
转换为布尔值(True或False),就像您现在所做的那样,会导致转换错误,就像您获得的那样。