-5

有没有更好的方法来做类似...

int VarableNumberOne = RandomNumberGenerator();
int VarableNumberTwo = RandomNumberGenerator();

if(VarableNumberOne == 4 || VarableNumberOne == 8 || VarableNumberOne == 12)
{
//do code
}
else if(VarableNumberTwo == 4 || VarableNumberTwo == 8 || VarableNumberTwo == 12)
{
//do code
}

能写出最少代码的人将获胜。

4

3 回答 3

2

这取决于RandomNumberGenerator返回的内容。假设 4、8 和 12 是它返回的唯一 4 的倍数,您可以执行以下操作:

if (VarableNumberOne % 4 == 0)
{
    //do code
}
else if (VarableNumberTwo % 4 == 0)
{
    //do code
}
于 2012-08-01T15:38:47.430 回答
1

您需要检查所需值的反向掩码以及值是否不为零。

int a = RandomNumberGenerator();
int b = RandomNumberGenerator();

if( a && !( a & ~12 ) )
{
//do code
}
else if( b && !( b & ~12 ) )
{
//do code
}
于 2012-08-01T16:34:17.053 回答
0
if (variableNumberOne & 12) {
     // ...
} else if (variableNumberTwo & 12) {
    // ...
}
于 2012-08-01T15:41:51.560 回答