无法将类型'int'隐式转换为'bool'

时间:2012-10-12 02:49:35

标签: c#

  

可能重复:
  Help converting type - cannot implicitly convert type ‘string’ to ‘bool’

我对语言很陌生n我不是一个优秀的程序员。这段代码给了我错误:

  

无法将int类型隐式转换为bool。

我不确定我做错了什么。 有些人可以告诉我我做错了什么。任何建议也会有所帮助。

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;

   namespace ConsoleApplication2
   {
     class mysteryVal
  {
   public const int limitOfGuess = 5;

  // Data member
    public int mystVal;
         private int numOfGuess ;
      private randomNumberMagnifier mag = new randomNumberMagnifier();

      public int randomMag(int num)
     {
        return num + mystVal;
      }

     // Instance Constructor
     public mysteryVal()
     {
        mystVal = 0;
         numOfGuess = 0;
            }

           public void game(int user)
          {
              int userInput = user;
               if (numOfGuess < limitOfGuess)
                     {
                  numOfGuess++;
                 if (userInput = mag.randomMagnifier())
                   {
                }
               }

           } 


           }
                } 

5 个答案:

答案 0 :(得分:11)

纠正这个:

if (userInput = mag.randomMagnifier())

为:

if (userInput == mag.randomMagnifier())

您在此处分配if语句中的值,这是错误的。你必须检查条件,检查条件你必须使用"==" if语句返回布尔值,并且因为您在此处分配值,所以它会给出错误。

答案 1 :(得分:9)

该行

if (userInput = mag.randomMagnifier())

应该是

if (userInput == mag.randomMagnifier())

答案 2 :(得分:3)

你应该使用==而不是= change: Lif(userinput = mag.randommagnifier()) 为了

if(userinput == mag.randommagnifier())

答案 3 :(得分:3)

if语句始终包含一个计算结果为布尔值的表达式。你的行

if (userInput = mag.randomMagnifier())

不是引起错误的bool。你可能意味着

if (userInput == mag.randomMagnifier())

答案 4 :(得分:3)

条件

userInput = mag.randomMagnifier() 

需要

userInput == mag.randomMagnifier()

您所拥有的是尝试分配userInput值,然后尝试将int转换为bool。使用C#,这是不可能的。