C# - 基本if语句查询 - 无法找到答案

时间:2015-12-30 14:17:16

标签: c# if-statement

这可能已经得到了解答,但我不知道如何构建问题,因此无法找到过去的答案。

所以我想做的是这样的事情:(如果检查,同样的更多变量)

if ((aa && bb && cc) == 1)
    {
       win = 1;
    }

这是什么正确的语法?

感谢一堆

6 个答案:

答案 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
}