If statement 有可能把这个浓缩一下吗?
我想写一些像:If statement 有可能把这个浓缩一下吗?,if-statement,If Statement,我想写一些像: if (x == a || x == b || x == c || x == d) { //...do something } 以一种更短且不重复代码的方式 编辑:对不起,这是用java编写的。 此外,a、b、c和d都是常数 if (in_array(x, array('a', 'b', 'c'))) { } 检查数组中是否存在x值 您没有提供使用的编程代码,我使用的是PHP函数 检查数组中是否存在x值 您没有提供所使用的编程代码,我使用了一个PHP函数。它看起来很
if (x == a || x == b || x == c || x == d)
{
//...do something
}
以一种更短且不重复代码的方式
编辑:对不起,这是用java编写的。
此外,a、b、c和d都是常数
if (in_array(x, array('a', 'b', 'c'))) {
}
检查数组中是否存在x值
您没有提供使用的编程代码,我使用的是PHP函数
检查数组中是否存在x值
您没有提供所使用的编程代码,我使用了一个PHP函数。它看起来很好,易于阅读,也不复杂。清晰是王道。变量名不是很好,但这可能是因为代码段脱离了上下文。在大多数语言中,逻辑将以“短路”方式求值,这样您得到的第一个真实结果将终止对表达式的求值,并继续执行“do something”代码 它看起来很好,容易阅读,也不复杂。清晰是王道。变量名不是很好,但这可能是因为代码段脱离了上下文。在大多数语言中,逻辑将以“短路”方式求值,这样您得到的第一个真实结果将终止对表达式的求值,并继续执行“do something”代码 如果这是C#,并且
x
的类型是int
,则可以使用Linq重写条件,如下所示
if( new int[]{ a, b, c, }.Contains(x) )
{
// do stuff
}
如果这是C#,并且x
的类型是int
,则可以使用Linq重写条件,如下所示
if( new int[]{ a, b, c, }.Contains(x) )
{
// do stuff
}
C#
List List=新列表{a,b,c,d};
如果(列表包含(x))
{
}
或
if(新列表{a,b,c,d}包含(x))
{
}
C#
List List=新列表{a,b,c,d};
如果(列表包含(x))
{
}
或
if(新列表{a,b,c,d}包含(x))
{
}
无论使用何种语言,我认为最好尝试捕获操作的意图,而不是显式检查布尔结果
你可能不会从缩短时间方面获得任何好处,但至少目的是明确的
if (SomethingThatReturns1() ||
SomethingThatReturns2() ||
SomethingThatReturns3() ||
SomethingThatReturns4())
{
//...do something
}
无论使用哪种语言,我认为最好尝试并捕获操作的意图,而不是显式地检查布尔结果 你可能不会从缩短时间方面获得任何好处,但至少目的是明确的
if (SomethingThatReturns1() ||
SomethingThatReturns2() ||
SomethingThatReturns3() ||
SomethingThatReturns4())
{
//...do something
}
语言应该是…?@潜伏者-那么c呢?是
a
通过d
变量吗?或者它们是连续的枚举常量?这个例子不是很清楚。顺便说一下,我并不认为给定的例子是“重复代码”的一个坏例子。请指定语言类型,语言是……@ Lurk-什么是C?<代码> A <代码> >代码> d>代码>变量?或者它们是连续的枚举常量?这个例子不是很清楚。顺便说一下,我并不认为给定的例子是“重复代码”的一个坏例子。请指定语言类型。