L'examen de la c # déclaration "else"

Une partie du code doit vérifier les conditions mutuellement exclusives. Par exemple, le segment de code suivant stocke le maximum de deux nombres, un et b, à la variable max:

// Stocker le maximum de a et b dans la variable max.
int mum
// Si a est supérieur à b. . .
si (a> b)
{
//. . .Save comme un maximum.
max = a-
}
// Si a est inférieur ou égal à b. . .
si un lt; = b)
{
//. . .Save b comme étant le maximum.
max = b-
}

Le second si déclaration est un traitement inutile parce que les deux conditions sont mutuellement exclusives. Si un est supérieur à b, puis un ne peut probablement être inférieur ou égal à b. C # définit un autre clause de juste ce cas. La autre mot-clé définit un bloc de code qui est exécuté si le si bloc est pas.

Le segment de code pour calculer le maximum apparaît maintenant comme suit:




// Stocker le maximum de a et b dans la variable max.
int mum
// Si a est supérieur à b. . .
si (a> b)
{
//. . .Save a comme maximum- autrement. . .
max = a-
}
autre
{
//. . .Save b comme étant le maximum.
max = b-
}

Si un est supérieur à b, le premier bloc est executed- sinon le deuxième bloc est exécuté. À la fin, max contient la plus grande des un ou b.

Évitant même le reste

Des séquences de autre clauses peuvent devenir confus. Certains programmeurs aiment à les éviter, ce faisant, ne provoque encore plus de confusion. Vous pouvez écrire le calcul maximale comme ceci:

// Stocker le maximum de a et b dans la variable max.
int mum
// Commencez par en supposant que a est supérieur à b.
max = a-
// Si il est pas. . .
si (b> a)
{
//. . . alors vous pouvez changer votre esprit.
max = b-
}

Certains programmeurs éviter ce style comme la peste. Vous voyez à la fois ce style et le style "autre" dans l'usage commun.

Les programmeurs qui aiment être cool et cryptique utilisent souvent le opérateur ternaire, :?, l'équivalent d'un if / else sur une seule ligne:

bool informelle = vrai-
string name = informelle: «Chuck»? "Charles" - // Retourne «Chuck».

Ce évalue l'expression avant la virgule. Si il est vrai, elle renvoie l'expression après les deux points, mais avant le point d'interrogation. Si elle est fausse, elle renvoie l'expression après le point d'interrogation. Cela transforme un if / else dans une expression.

D'une manière générale, l'utiliser que rarement, car il vraiment est cryptique.


» » » » L'examen de la c # déclaration "else"