ifステートメントでtrueまたはfalseの値を返すメソッドを呼び出すのは良い習慣ですか?
このようなもの:
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;
}
または、それらを変数に格納してから、次のような値を使用して比較する方が良いでしょう
bool validate = ValidateCredentials(txtUser.Text, txtPassword.Text);
if(validate == false){
//Do something
}
私は.NETだけでなく、すべてのプログラミング言語の質問にも言及しています。例として.NETを使用しただけです
IsValidCredentials
文法的には厄介ですが、ブール値の戻り値を示すための一般的な形式です。
!
「NOT」演算子であり、ブール式を否定します。だから、if (!validate)
の反対ですif (validate)
。ifステートメントvalidate
は、trueでない場合に入力されます。
if (!validate)
ではなく書き込みif (validate == false)
ます。