Juste un petit coup, Y a-t-il de toute façon un raccourci?
Il s'agit essentiellement de déterminer la direction vers la gauche ou la droite, 1 pour la gauche, 0 pour la droite
En C #:
if (column == 0) { direction = 0; }
else if (column == _gridSize - 1) { direction = 1; }
else { direction = Rand.Next(2); }
La déclaration qui suit sera:
if (direction == 1)
{
// do something
}
else
{
// do something else
}
S'il n'y en a pas, cela n'a pas vraiment d'importance! juste curieux:)
Pour utiliser la sténographie pour obtenir la direction:
int direction = column == 0
? 0
: (column == _gridSize - 1 ? 1 : Rand.Next(2));
Pour simplifier entièrement le code:
if (column == gridSize - 1 || Rand.Next(2) == 1)
{
}
else
{
}
Utilisez l'opérateur ternaire
direction == 1 ? dosomething () : dosomethingelse ();
Oui. Utilisez l'opérateur ternaire.
condition ? true_expression : false_expression;
Récemment, j'apprécie vraiment les raccourcis si des déclarations comme remplacement de boîtier de commutation. À mon avis, c'est mieux en lecture et prend moins de place. Jette un coup d'oeil:
var redirectUrl =
status == LoginStatusEnum.Success ? "/SecretPage"
: status == LoginStatusEnum.Failure ? "/LoginFailed"
: status == LoginStatusEnum.Sms ? "/2-StepSms"
: status == LoginStatusEnum.EmailNotConfirmed ? "/EmailNotConfirmed"
: "/404-Error";
au lieu de
string redirectUrl;
switch (status)
{
case LoginStatusEnum.Success:
redirectUrl = "/SecretPage";
break;
case LoginStatusEnum.Failure:
redirectUrl = "/LoginFailed";
break;
case LoginStatusEnum.Sms:
redirectUrl = "/2-StepSms";
break;
case LoginStatusEnum.EmailNotConfirmed:
redirectUrl = "/EmailNotConfirmed";
break;
default:
redirectUrl = "/404-Error";
break;
}