El examen de la c # afirmación "otra cosa"

Algunos código debe comprobar si hay condiciones mutuamente excluyentes. Por ejemplo, el siguiente segmento de código almacena el máximo de dos números, la y b, en la variable max:

// Almacenar el máximo de a y b en la variable max.
int max-
// Si a es mayor que b. . .
si (a> b)
{
//. . .save una como el máximo.
max = a-
}
// Si a es menor o igual a b. . .
si (a lt; = b)
{
//. . .save b como el máximo.
max = b-
}

El segundo si afirmación es innecesaria porque el procesamiento de las dos condiciones son mutuamente excluyentes. Si la es mayor que b, después la no puede ser menor que o igual a b. C # define una otro cláusula sólo para este caso. los otro palabra clave define un bloque de código que se ejecuta si el si bloque no es.

El segmento de código para calcular la máxima ahora aparece como sigue:

// Almacenar el máximo de a y b en la variable max.
int max-
// Si a es mayor que b. . .
si (a> b)
{
//. . .save A como el de máxima lo contrario. . .
max = a-
}
otro
{
//. . .save b como el máximo.
max = b-
}

Si la es mayor que b, se executed- de lo contrario se ejecuta el segundo bloque del primer bloque. En el final, max contiene la mayor de la o b.

Evitar incluso la persona

Secuencias de otro cláusulas pueden prestarse a confusión. Algunos programadores prefieren evitarlos cuando hacerlo no provoca aún más confusión. Se puede escribir el cálculo máximo de esta manera:

// Almacenar el máximo de a y b en la variable max.
int max-
// Para empezar, suponiendo que a es mayor que b.
max = a-
// Si no lo es. . .
si (b> a)
{
//. . . entonces usted puede cambiar de opinión.
max = b-
}

Algunos programadores evitan este estilo como de la peste. Usted ve tanto este estilo y el "estilo más" de uso común.

Los programadores que les gusta estar fresco y críptica a menudo usan el operador ternario, :?, equivalente a un if / else en una línea:

bool informal = cierto-
string name = informal: "Chuck"? "Charles" - // Devuelve "Chuck".

Este evalúa la expresión antes de que el colon. Si es cierto, devuelve la expresión después de los dos puntos, pero antes de que el signo de interrogación. Si es falso, devuelve la expresión después del signo de interrogación. Esto convierte un if / else en una expresión.

En términos generales, lo utilizan sólo en raras ocasiones porque realmente es críptica.




» » » » El examen de la c # afirmación "otra cosa"