这可能已经得到了解答,但我不知道如何构建问题,因此无法找到过去的答案。
所以我想做的是这样的事情:(如果检查,同样的更多变量)
if ((aa && bb && cc) == 1)
{
win = 1;
}
这是什么正确的语法?
感谢一堆
答案 0 :(得分:2)
如果你有很多变量,你也可以构建一个值数组并使用IEnumerable.All方法来验证它们全部1.更可读,IMO。
if (new[] { aa, bb, cc}.All(x => x == 1))
答案 1 :(得分:1)
if (aa == 1 && bb == 1 && cc == 1)
{
win = 1;
}
答案 2 :(得分:1)
您可以单独检查每个变量,例如:
if (aa == 1 && bb == 1 && cc == 1)
{
// do something
}
如果您知道您将始终检查值1,则可能需要将其声明为常量。
public const int ExpectedValue= 1;
if (aa == ExpectedValue&& bb == ExpectedValue&& cc == ExpectedValue)
{
// do something
}
答案 3 :(得分:1)
恐怕你必须做很长的事情, 没有简单的简洁方法可以检查多个变量在if语句中是否具有相同的值。
代码:
If (aa == 1 && bb == 1 && cc == 1)
{
// Code here.
}
希望这有帮助。
答案 4 :(得分:1)
变量的数据类型确实对使用if
语句可以执行的操作产生影响。
如果它们是boolean
值且你想知道它们何时是一个,你可以去:
if(aa && bb && cc) { }
因为每个变量都是1或0,如果其中一个为false,则整个语句将为false。只有当一切都是一个时,这个陈述才会成真。
如果你想看看
if((aa && bb && cc) == Value) {}
您可以将它们相乘并查看它们是否等于Value
的多维数据集。
if(aa*bb*cc == Value*Value*Value) {}
所以,如果Value
等于1,那么你得到:
if(aa*bb*cc == 1) {}
执行此操作的最佳方法是单独检查每个变量是否等于Value
。
if(aa == Value && bb == Value && cc == Value) {}
这是因为&&
运算符需要两个bool
,然后返回boolean
值。因此,当您aa && bb && cc
时,您实际上将这些值“和”在一起以产生boolean
值。首先将每个变量与Value
进行比较,然后为每个变量创建一个boolean
值,然后“和”一起产生与我提出的第一个解决方案类似的结果。
希望这有帮助!
答案 5 :(得分:0)
您可以使用此代码,而且非常简单
if ( aa == 1 && bb == 2 && cc == 3)
{
// your codes
}