Est-ce une bonne pratique d'appeler une méthode qui renvoie des valeurs vraies ou fausses dans une instruction if?
Quelque chose comme ça:
private void VerifyAccount()
{
if (!ValidateCredentials(txtUser.Text, txtPassword.Text))
{
MessageBox.Show("Invalid user name or password");
}
}
private bool ValidateCredentials(string userName, string password)
{
string existingPassword = GetUserPassword(userName);
if (existingPassword == null)
return false;
var hasher = new Hasher { SaltSize = 16 };
bool passwordsMatch = hasher.CompareStringToHash(password, existingPassword);
return passwordsMatch;
}
ou est-il préférable de les stocker dans une variable puis de les comparer en utilisant des valeurs if else comme celle-ci
bool validate = ValidateCredentials(txtUser.Text, txtPassword.Text);
if(validate == false){
//Do something
}
Je ne fais pas seulement référence à .NET, je fais référence à la question dans tous les langages de programmation, il se trouve que j'ai utilisé .NET comme exemple
IsValidCredentials, bien que grammaticalement maladroit, est un format courant pour indiquer une valeur de retour booléenne.
!est l'opérateur "NOT", il annule toute expression booléenne. C'est if (!validate)le contraire de if (validate). L'instruction if sera entrée if validaten'est pas vraie.
if (!validate)plutôt queif (validate == false).