Pregunta

¿Cómo puedo comprobar si una condición pasa a múltiples valores?

Ejemplo:

if(number == 1,2,3)

Sé que comas no funcionan.

¿Fue útil?

Solución

if (number == 1 || number == 2 || number == 3)

Otros consejos

Si está usando PHP, a continuación, supongamos que su lista de números es una matriz

$list = array(1,3,5,7,9);

a continuación, para cualquier elemento, puede utilizar

if(in_array($element, $list)){
//Element present in list
}else{
//not present.
}

Estructura Función:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Espero que ayude.

if ((number >= 1) && (number <= 3))

¿Qué idioma?

Por ejemplo en VB.NET que usan la palabra OR y en C # utiliza ||

Desde que se especifica ningún lenguaje añado una solución Python:

if number in [1, 2, 3]:
    pass

En T-SQL se puede utilizar el operador IN:

select * from MyTable where ID in (1,2,3)

Si está utilizando una colección que puede haber un operador contains otra manera de hacer esto.

En C # de otra forma en que puede ser más fácil añadir valores:

    List<int> numbers = new List<int>(){1,2,3};
    if (numbers.Contains(number))

Vamos a suponer un lenguaje C-Style, aquí está una cartilla rápida en SI Y lógica OR:

if(variable == value){
    //does something if variable is equal to value
}

if(!variable == value){
    //does something if variable is NOT equal to value
}

if(variable1 == value1 && variable2 == value2){
    //does something if variable1 is equal to value1 AND variable2 is equal to value2
}

if(variable1 == value1 || variable2 = value2){
    //does something if variable1 is equal to value1 OR  variable2 is equal to value2
}

if((variable1 == value1 && variable2 = value2) || variable3 == value3){
    //does something if:
    // variable1 is equal to value1 AND variable2 is equal to value2
    // OR variable3 equals value3 (regardless of variable1 and variable2 values)
}

if(!(variable1 == value1 && variable2 = value2) || variable3 == value3){
    //does something if:
    // variable1 is NOT equal to value1 AND variable2 is NOT equal to value2
    // OR variable3 equals value3 (regardless of variable1 and variable2 values)
}

Así se puede ver cómo se puede encadenar estos controles juntos para crear algo de lógica bastante compleja.

Para obtener una lista de números enteros:

static bool Found(List<int> arr, int val)
    {
        int result = default(int);
        if (result == val)
            result++;

        result = arr.FindIndex(delegate(int myVal)
        {
            return (myVal == val);
        });
        return (result > -1);
    }

En Java tiene objetos que envuelven variables primitivas (entero para int, long por mucho tiempo, etc). si nos fijamos para comparar los valores entre una gran cantidad de números completos (Ints), lo que puede hacer es iniciar un montón de objetos Integer, meterlas dentro de un iterable como un ArrayList, iterar sobre ellos y comparar.

algo como:

ArrayList<Integer> integers = new ArrayList<>();
integers.add(13);
integers.add(14);
integers.add(15);
integers.add(16);

int compareTo = 17;
boolean flag = false;
for (Integer in: integers) {
    if (compareTo==in) {
    // do stuff
    }
}

por supuesto por unos valores que este puede ser un poco difícil de manejar, pero si se desea comparar contra un montón de valores, que va a funcionar muy bien.

Otra opción es el uso de Java Establece , se puede colocar una gran cantidad de diferentes valores (la colección va a ordenar su entrada, que es un plus) y luego invocar el método .contains(Object) para localizar la igualdad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top