是否可以使用if语句检查一个整数是否等于另一个整数?下面的代码给出一个错误,指出||。 OR运算符不能用于int和int类型。有比将每个选项都单独设置为IF语句更好的方法吗?
if (role = 7 || 11)
{
Console.WriteLine("You won!");
}
if (role = 2 || 3 || 12)
{
Console.WriteLine("You lost.");
}
答案 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
括号中的表达式为布尔值。