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。

有谁知道如何解决这个问题?

C# IO 流无法按预期工作

 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 语句的外部