可能重复:
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())
{
}
}
}
}
}
答案 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#,这是不可能的。