2d数组文本文件c#登录不工作
本文关键字:登录 工作 文件 数组 文本 2d | 更新日期: 2023-09-27 18:12:56
我最近写的一段代码遇到了麻烦。该代码的目的是读取包含用户详细信息的文本文件,检查他们的登录信息,然后允许他们登录。然而,我有麻烦,当我执行代码。只有最后一行的文本文件是"工作"。程序可以注册多个用户名,但它总是认为密码不正确。我不知道如何更好地解释这一点。如果您有任何问题,请提出来,谢谢帮助。
这是我的代码
private void button1_Click_1(object sender, EventArgs e)
{
string UserList;
string UsernameString;
UserList = File.ReadAllText(@"C:'Users'dagostinom18'Documents'Visual Studio 2015'Projects'Assignment'Assignment'users.txt");
int iLength = UserList.Length;
string[,] users = new string[iLength, iLength];
foreach (var row in UserList.Split(''n'))
{
int y = 0;
foreach (var col in row.Trim().Split(','))
{
int x = 0;
users[x, y] = col.Trim();
if (users[x, y] == Username.Text)
{
UsernameCheck = true;
UsernameString = Username.Text;
RowNumber = x;
}
y++;
}
}
if (UsernameCheck == false)
{
LoginError.Text = "No such username";
}
else
{
if (Password.Text == users[RowNumber, 1])
{
Main f3 = new Assignment.Main();
Form1 f4 = new Assignment.Form1();
f3.Show();
MessageBox.Show("Welcome ");
}
else
{
LoginError.Text = "Incorect Password";
}
}
}
这是我的文本文件的样子
matt, 12345
admin, 67890
test, abcde
你的代码在更干净的状态下应该是这样的。
string password = PasswordTxt.Text//you should use your control names
string userName = UserNameTxt.Text//your control
bool validUsers = false;
foreach (var line in File.ReadLines("@"C:'Users'dagostinom18'Documents'Visual Studio 2015'Projects'Assignment'Assignment'users.txt""))
{
string textUserName = line.Split(',')[0].Trim();
string textPassword = line.Split(',')[1].Trim();
validUsers = textUserName == userName && textPasword == password;
}
if(!validUsers)
{
//show error, user credentials are not valid
return;
}
//go log in.