运营商&&不能应用于bool和int C#?
class Program
{
static void Main(string[] args)
{
Console.Write("Enter number1 : ");
Console.Write("Enter number2 : ");
Console.Write("Enter number3 : ");
int getla1 = Convert.ToInt32(Console.ReadLine());
int getla2 = Convert.ToInt32(Console.ReadLine());
int getla3 = Convert.ToInt32(Console.ReadLine());
if (getla1 && getla2 > getla3)
{
Console.WriteLine("The third number is the smallest number");
}
}
}
}
答案 0 :(得分:2)
if ((getla1 > getla3) && (getla2 > getla3))
{
// The third number is the smallest number
Console.WriteLine("Het derde getal is de kleinste getal");
}
答案 1 :(得分:2)
您不能在C#中使用类似布尔值的整数。
如果您要检查getla1
是否为0,请使用if (getla1 != 0 && getla2 > getla3) {}
。
答案 2 :(得分:2)
getla1
是一个整数。因此,对于在C#中被视为布尔值的整数,没有定义的行为。如果你习惯于动态输入一个整数为“truthy”的语言,如果它不为零,那么你需要检查整数是否为零:
if (getla1 != 0 && getla2 > getla3) {...}
答案 3 :(得分:1)
getla1是一个int。 &安培;&安培;需要两个布尔。你的意思是:
if (getla1 != 0 && getla2 > getla3)
或
if (getla1 > getla3 && getla2 > getla3)
答案 4 :(得分:1)
我认为您要做的是检查getla1
和getla2
的添加是否大于getla3
if ((getla1 + getla2) > getla3)
{
Console.WriteLine("Het derde getal is de kleinste getal");
}
答案 5 :(得分:0)
您是否尝试比较两个值以查看它们是否大于,如果是,则执行此操作:
if ((getla1 > getla3) && (getla2 > getla3))
答案 6 :(得分:0)
您是否尝试了解编译器错误?代码if (getla1 && getla2 > getla3)
表示if ((getal1) && (getal2 > getal3))
。
由于getal1
是int
,因此您无法将其用作条件,因为条件需要求值为布尔值。
您无法将多个数字与一个数字进行比较。你正在寻找这个:
if ((getal1 > getal3) && (getal2 > getal3))
答案 7 :(得分:0)
我认为你正试图检查这样的条件
(getla1 + getla2) > getla3