运营商"||" 不能应用于'bool'和'int'类型的操作数

Kas*_*erg 1 c#

我对C#很新,并试图使文本基础mastermind,但当我尝试检查用户的答案是否与3个数字相同时,我得到此错误."运算符"||"不能应用于'bool'和'int'类型的操作数"

        Random rnd = new Random();

        int pos1 = rnd.Next(1, 6);  //generates random numbers
        int pos2 = rnd.Next(1, 6);
        int pos3 = rnd.Next(1, 6);
        int pos4 = rnd.Next(1, 6);

        int answer1 = Convert.ToInt32(Console.ReadLine());

        if (asnwer1 == pos1)           //checks if answer is the same as pos1
        {
            Console.WriteLine("Right");
        }
        else if (answer1 == pos2 || pos3 || pos4)
        {
            Console.WriteLine("Wrong");
        }
        else {
            Console.WriteLine("Nope");
Run Code Online (Sandbox Code Playgroud)

Rom*_*och 5

所有条件都应返回bool结果.pos3pos4int-你应该用比较answer1.

你应该改写你的else if:

else if (answer1 == pos2 || answer1 == pos3 || answer1 == pos4)
Run Code Online (Sandbox Code Playgroud)