我想写一些类似的东西:
if (x == a || x == b || x == c || x == d)
{
//...do something
}
以更短的方式而不是重复代码?
编辑:这是在java中,抱歉。 此外,a,b,c和d是常数。
答案 0 :(得分:0)
if (in_array(x, array('a', 'b', 'c'))) {
}
检查数组中x的值是否存在。
您没有提供使用的编程代码,我使用的是PHP函数。
答案 1 :(得分:0)
它看起来很好,易于阅读而且不复杂。清晰是王道。变量名称不是那么好,但可能是因为代码段不在上下文中。在大多数语言中,逻辑将在“短路”中进行评估。你获得的第一个真实结果将终止对表达式的评估并继续你的“做某事”。码。
答案 2 :(得分:0)
如果这是C#且x
的类型为int
,您可以使用Linq重写条件,如下所示。
if( new int[]{ a, b, c, }.Contains(x) )
{
// do stuff
}
答案 3 :(得分:0)
C#
List<int> list = new List<int> {a, b, c, d};
if (list.contains(x))
{
}
或
if (new List<int> {a, b, c, d}.Contains(x))
{
}
答案 4 :(得分:0)
无论语言如何,我认为最好尝试捕获操作的意图,而不是显式检查布尔结果。
你可能无法获得更短的任何东西,但至少意图是明确的
if (SomethingThatReturns1() ||
SomethingThatReturns2() ||
SomethingThatReturns3() ||
SomethingThatReturns4())
{
//...do something
}