带有bool的代码不工作
本文关键字:工作 代码 bool 带有 | 更新日期: 2023-09-27 17:49:30
我一直在做一个登录中心草案(是的,我知道,我会将密码和用户名的存储转移到数据库或稍后散列它),我遇到了一个问题,我的bool代码,看看用户名是否存在。检查登录用户的bool码总是false。编辑:小代码片段:
bool userContain = File.ReadAllLines("C:''Users''Public''Passwords.txt").Contains(loginUser);
Console.WriteLine(userContain);
if (loginUser == "")
{ Console.WriteLine("Error.... Username is empty.. stop trying to glitch the system ;("); }
else
{
if (userContain == true)
{
if (lineCount == countLine) { Console.WriteLine("Logged In!"); loginAttempt = 1; } else { Console.WriteLine("Error:Password or User incorrect!"); }
}
else { Console.WriteLine("Error, Username does not exist"); }
}
编辑:愚蠢的打字错误....谢谢你指出来。我现在在精神上多次自责.....
你的版本检查是否有一行等于用户名,当它可能只是行的一部分。
bool userContain = File.ReadAllLines("C:''Users''Public''Passwords.txt").Any(s=>IsInLine(s,userLogin));
实现IsInLine
,使其匹配您的数据表示-例如,如果密码文件中的每行都是格式为"mechron,123", IsInLine
可以使用string.Split(',')并与第一个令牌进行比较。
而且,这可能是一个案例问题。如果用户名不区分大小写,那么最好在比较之前将大小写规范化(例如使用ToLower()
)。