比较从文件读入的字符串时的 NullReferenceException
本文关键字:NullReferenceException 字符串 比较 从文件读 | 更新日期: 2023-09-27 18:33:03
我有一个客户端.txt文件,其中"a a"作为用户名和密码。如果我没记错的话,这应该从中读取并告诉我它们是否存在于文件中。
编辑:在客户端文件的第二行.txt我有"b b"作为用户名和密码,它们工作正常。
图片在这里:(新用户不能发布图片)
StreamReader sr = new StreamReader("clients.txt");
int findIndex = -1;
string userpass = "#";
while (findIndex == -1 && sr.ReadLine() != null)
{
findIndex = userpass.IndexOf(txtUserName.Text + " " + txtPassword.Password);
userpass = sr.ReadLine();
}
sr.Close();
你的 while() 语句正在吞噬行。 您需要在正文中移动 ReadLine() 调用:
while (findIndex == -1) {
userpass = sr.ReadLine();
if (userpass == null) break;
findIndex = userpass.IndexOf(txtUserName.Text + " " + txtPassword.Password);
}
不要将密码以明文形式放入文本文件中。
你对sr的呼唤。while 语句中的 Readline 将读取(并忽略)文本文件的第一行,因此要比较的第一行将是文本文件的第二行,在第二次调用 sr 之后。阅读行。
您需要重构代码,以便始终捕获来自对 sr 的调用的响应。阅读行。