检查if条件中多个变量的相等性的常用方法如下.
public enum Values
{
Value1,
Value2,
Value3
}
void MethodName (Values randomValue )
{
if (randomValue == Values.Value1|| randomValue == Values.Value2)
{
// code here
}
}
Run Code Online (Sandbox Code Playgroud)
而不是有一个OR条件,有没有更好的方法来做到这一点?
一些选择:
if (randomValue & (Values.Value1 | Values.Value2) > 0)
{
//...
}
Run Code Online (Sandbox Code Playgroud)
switch (randomValue)
{
case Values.Value1:
case Values.Value2:
{
//Do something
break;
}
case Values.Value3:
//Do something else
break;
default:
break;
}
Run Code Online (Sandbox Code Playgroud)
if (new[] { Values.Value1, Values.Value2 }.Contains(randomValue))
{
}
Run Code Online (Sandbox Code Playgroud)
要么
static(?) readonly Values[] allowedValues = new[] { Values.Value1, Values.Value2 };
void MethodName(Values randomValue)
{
if (allowedValues.Contains(randomValue))
{
//...
}
}
Run Code Online (Sandbox Code Playgroud)