运行时错误:从字符串"y"到"布尔"类型的转换无效

Log*_*gan -3 vb.net

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

    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
Run Code Online (Sandbox Code Playgroud)

pha*_*unk 5

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

Do While answer = "Y" or "y"
Run Code Online (Sandbox Code Playgroud)

和问一样

Do While (answer = "Y") or "y"
Run Code Online (Sandbox Code Playgroud)

对于第一个条件,answer = "Y"可以是true或false,对于第二个条件,"y"既不是true也不是false - 它是一个字符串,所以该语句没有意义.

你的第二个测试应包括变量测试.像这样 :

Do While answer = "Y" Or answer = "y"
Run Code Online (Sandbox Code Playgroud)

answer = "y"将被解释为True或者False由编译器解释表达式是否为真.

这就像问:" y我的answer变量中的值是多少?"

简单地尝试转换y为布尔(真或假),就像你现在正在做的那样,会导致转换错误,就像你得到的那样.