写这个if语句的任何更简单的方法?
if (value==1 || value==2)
例如......在SQL中你可以说where value in (1,2)而不是where value=1 or value=2.
我正在寻找适用于任何基本类型的东西...... string,int等.
背景:
通常,我们开发人员必须检查单个变量是否是众多选项中的至少一个.例如,
if ( (data == 125) || (data == 500) || (data == 750) )
{
/* ... do stuff ...*/
}
Run Code Online (Sandbox Code Playgroud)
这里的建议(尽管用C#编写)提供了一个优雅的解决方案来使用这样的switch语句,
switch ( data )
{
case 125:
case 500:
case 750:
/* ... do stuff ...*/
break;
default:
/* ... do nothing ... */
break;
}
Run Code Online (Sandbox Code Playgroud)
这适用于"或"条件,但对于否定的"或"条件如下所述是丑陋的,
if ( !( (data == 125) || (data == 500) || (data == 750) ) )
{
/* ... do stuff ...*/
}
Run Code Online (Sandbox Code Playgroud)
这可以写成
switch ( …Run Code Online (Sandbox Code Playgroud) 假设我有一个如果是这样的话:
if(condition1 != asd && menu != menu1 && menu != menu2)
Run Code Online (Sandbox Code Playgroud)
这可以缩短为:
if(condition1 != asd && menu != (menu1 && menu2))
Run Code Online (Sandbox Code Playgroud)
我尝试围绕第二个条件围绕它不应该的两个条件,并围绕整个事情,但它不通过编译器.
是否有可能以这种方式缩短第二个条件?或者有更好的方法吗?
PS.我不知道该怎么称呼它,所以随时编辑标题.