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()