或与整数
OR with integers
有没有办法使用 if 语句来检查一个整数是否等于另一个整数?下面的代码给出了一个错误,指出 || OR 运算符不能用于 int 和 int 类型。有没有比让每个选项成为单独的 IF 语句更好的解决方法?
if (role = 7 || 11)
{
Console.WriteLine("You won!");
}
if (role = 2 || 3 || 12)
{
Console.WriteLine("You lost.");
}
If 语句要求您计算布尔值。因此,您需要更改 if 语句的后半部分以评估为布尔值:
if (role == 7 || role == 11)
请注意,我将 =
更改为 ==
,因为 =
是赋值,而 ==
是比较。
您必须使用 or 变量,即
if(role == 7 || role == 11) {
//do something
}
或者...
if (new[] {2, 3, 12}.Contains(role)) {
}
重要的是 if
括号中的表达式计算为布尔值。
您使用的 = 是赋值,而 == 是比较。
你的陈述需要比较,那么它应该是:
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;
}
有没有办法使用 if 语句来检查一个整数是否等于另一个整数?下面的代码给出了一个错误,指出 || OR 运算符不能用于 int 和 int 类型。有没有比让每个选项成为单独的 IF 语句更好的解决方法?
if (role = 7 || 11)
{
Console.WriteLine("You won!");
}
if (role = 2 || 3 || 12)
{
Console.WriteLine("You lost.");
}
If 语句要求您计算布尔值。因此,您需要更改 if 语句的后半部分以评估为布尔值:
if (role == 7 || role == 11)
请注意,我将 =
更改为 ==
,因为 =
是赋值,而 ==
是比较。
您必须使用 or 变量,即
if(role == 7 || role == 11) {
//do something
}
或者...
if (new[] {2, 3, 12}.Contains(role)) {
}
重要的是 if
括号中的表达式计算为布尔值。
您使用的 = 是赋值,而 == 是比较。 你的陈述需要比较,那么它应该是:
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;
}