-4

我需要以下代码的帮助,因为它不起作用:

    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
4

1 回答 1

5

在 VB.NET 中,逻辑运算符和位运算符的优先级低于比较运算符,因此要求

Do While answer = "Y" or "y"

和问一样

Do While (answer = "Y") or "y"

对于第一个条件,answer = "Y"可以是真或假,对于第二个条件,"y"既不是真也不是假 - 它是一个字符串,因此该语句没有意义。

您的第二个测试应该包括变量 test to。像这样 :

Do While answer = "Y" Or answer = "y"

answer = "y"无论表达式为真与否,都将被编译器解释为True或由编译器解释。False

这就像在问:“y我的变量里面的值answer吗?”

y像您现在所做的那样简单地尝试转换为布尔值(真或假)将导致您得到的转换错误。

于 2013-05-31T18:01:27.690 回答