或使用整数

时间:2018-10-03 01:03:44

标签: c# if-statement operators

是否可以使用if语句检查一个整数是否等于另一个整数?下面的代码给出一个错误,指出||。 OR运算符不能用于int和int类型。有比将每个选项都单独设置为IF语句更好的方法吗?

if (role = 7 || 11)
{
    Console.WriteLine("You won!");
}

if (role = 2 || 3 || 12)
{
    Console.WriteLine("You lost.");
}

4 个答案:

答案 0 :(得分:5)

If语句要求您评估布尔值。因此,您需要更改if语句的后半部分,以将其评估为布尔值:

if (role == 7 || role == 11)

请注意,我将=更改为==是因为=是分配,而==是比较。

答案 1 :(得分:2)

您必须使用或与变量

一起使用
if(role == 7 || role == 11) {
//do something
}

答案 2 :(得分:2)

您使用的=是分配,而==是比较。 您的陈述需要进行比较,那么应该是:

if (role == 7 || role == 11)

在其他情况下,您可以使用列表来检查以下内容:

if (new List<int> { 2, 3, 12 }.Contains(role))
{

}

或者您可以更改为使用switch语句:

            switch (role)
            {
                case 7:
                case 11:
                    Console.WriteLine("You won!");
                    break;
                case 2:
                case 3:
                case 12:
                    Console.WriteLine("You lost.");
                    break;
            }

答案 3 :(得分:1)

或者...

if (new[] {2, 3, 12}.Contains(role)) {

}

重要的是if括号中的表达式为布尔值。