C# IO 流无法按预期工作
本文关键字:工作 IO | 更新日期: 2023-09-27 18:34:01
我这里有这段代码:
private void button1_Click(object sender, EventArgs e)
{
StreamReader sr = new StreamReader("TextFile1.txt");
while ((line = sr.ReadLine()) != null)
{
if (line == textBox1.Text)
{
line = sr.ReadLine();
if (line == textBox2.Text)
{
MessageBox.Show("Logged in! Welcome " + textBox1.Text);
new Form2().Show();
this.Hide();
LoginSucces = true;
}
}
}
sr.Close();
if (LoginSucces == false) MessageBox.Show("Login Failed :(");
}
它从这段文字中读到:
AverageJavaGuy
密码
切兹
密码
问题是它不起作用!
当我输入时:
文本框 1 = Chezzy。
文本框 2 = 密码。
它不行...它只适用于AverageJavaGuy。
有谁知道如何解决这个问题?
Dictionary<string, string> userPass_dict = new Dictionary<string, string>(); // add this at class level
using (StreamReader sr = new StreamReader("TextFile1.txt"))
{
string line = "";
string line2 = "";
while (!sr.EndOfStream)
{
line = sr.ReadLine();
line2 = sr.ReadLine();
userPass_dict.Add(line, line2);
}
}
所以它适用于第一个登录名/密码,但不适用于第二个?
你检查过你的文本文件吗?问题不是与"Chezzy"旁边的点有关吗(在您的帖子中!
尝试添加"Console.WriteLine"或使用调试器来修复代码,看看循环会发生什么。
另外,我认为内部" sr。ReadLine((;" 在循环中可能会根据文本文件内容导致意外的"移位",请谨慎使用...
move line = sr.ReadLine((;到 if 语句的外部