-7

运算符 && 不能应用于 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");
        }
    }
  }
}
4

8 回答 8

2
if ((getla1 > getla3) && (getla2 > getla3))
{
     // The third number is the smallest number
     Console.WriteLine("Het derde getal is de kleinste getal");
}
于 2013-09-27T13:09:57.947 回答
2

您不能在 C# 中使用像布尔值这样的整数。

如果您要检查是否getla1不是 0,请使用if (getla1 != 0 && getla2 > getla3) {}.

于 2013-09-27T13:11:04.317 回答
2

getla1是一个整数。因此,对于在 C# 中被视为布尔值的整数没有定义的行为。如果您习惯于动态类型语言,其中整数非零时为“真”,那么您需要检查整数是否为零:

if (getla1 != 0 && getla2 > getla3) {...}
于 2013-09-27T13:11:44.383 回答
1

getla1 是一个整数。&& 需要两个布尔值。你的意思是:

if (getla1 != 0 && getla2 > getla3)

或者

if (getla1 > getla3 && getla2 > getla3)

?

于 2013-09-27T13:10:44.217 回答
1

我想你想要做的是检查加法getla1是否getla2大于getla3

    if ((getla1 + getla2) > getla3)
    {
        Console.WriteLine("Het derde getal is de kleinste getal");
    }
于 2013-09-27T13:11:35.027 回答
0

您是否尝试比较两个值以查看它们是否大于,如果是,则执行以下操作:

if ((getla1 > getla3) && (getla2 > getla3))
于 2013-09-27T13:11:14.887 回答
0

您是否尝试了解编译器错误?代码的if (getla1 && getla2 > getla3)意思是if ((getal1) && (getal2 > getal3))

由于getal1int,因此您不能将其用作条件,因为条件需要评估为布尔值。

您不能以这种方式将多个数字与一个数字进行比较。你正在寻找这个:

if ((getal1 > getal3) && (getal2 > getal3))
于 2013-09-27T13:11:29.850 回答
0

我认为您正在尝试检查这样的条件

(getla1 + getla2) > getla3
于 2013-09-27T13:11:43.287 回答