C# 无法隐式转换类型';int';至';布尔';

C# 无法隐式转换类型';int';至';布尔';,c#,C#,可能重复: 我对这门语言很陌生,我不是一个好的程序员。此代码给了我一个错误: 无法将int类型隐式转换为bool 我不确定我做错了什么。 有人能告诉我我做错了什么吗。任何帮助都将不胜感激,任何建议也将有所帮助 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { class myst

可能重复:

我对这门语言很陌生,我不是一个好的程序员。此代码给了我一个错误:

无法将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())
                   {
                }
               }

           } 


           }
                } 
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
命名空间控制台应用程序2
{
mysteryVal类
{
公共const int limitOfGuess=5;
//数据成员
公共信息中心;
私人国际货币基金组织;
private RandomNumberMag=新的RandomNumberMagnier();
公共int随机数(int num)
{
返回num+mystVal;
}
//实例构造函数
公共mysteryVal()
{
mystVal=0;
numOfGuess=0;
}
公共无效游戏(int用户)
{
int userInput=user;
if(numOfGuess
线路

if (userInput = mag.randomMagnifier())
应该是

if (userInput == mag.randomMagnifier())
更正此错误:

if (userInput = mag.randomMagnifier())
致:

这里您在
if
语句中赋值,这是错误的。您必须检查条件,对于检查条件,您必须使用
“==”


如果
语句返回布尔值,并且由于您在此处赋值,它给出了错误。

您应该使用==而不是=change:
Lif(userinput=mag.random放大镜())
为了


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

if (userInput = mag.randomMagnifier())
不是导致错误的
bool
。你可能是说

if (userInput == mag.randomMagnifier())
状况

userInput = mag.randomMagnifier() 
需要

userInput == mag.randomMagnifier()

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

你在哪里为limitOfGuess声明了变量?不同的类型,但想法相同。注意错误在哪里-它会直接引导您找到问题所在。我将其声明为常量。就在类声明之后。
userInput = mag.randomMagnifier() 
userInput == mag.randomMagnifier()