Как проверить, соответствует ли пользовательский ввод содержимому текстового файла

#c# #visual-studio

#c# #visual-studio

Вопрос:

я создаю приложение, в котором пользователи могут входить в систему, а затем приложение проверяет, соответствует ли пользовательский ввод текстовому файлу

я пытался использовать класс StreamReader, но я просто не мог понять это. и если кто-нибудь из вас сочтет это глупым вопросом, я только начал изучать c # и я действительно ценю, если кто-нибудь может помочь. Теперь проблема в том, что я хочу сравнить ввод пользователя, который он / она вводит, с содержимым текстового файла. в данном случае это мой собственный рабочий стол. как мне это сделать? и код уже сохраняет введенные имя пользователя и пароль к файлу. я предпринял попытку в последнем выражении «if». Спасибо 🙂

 private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            string username = Username.Text;
            string password = Password.Text;
            using (StreamWriter sw = new StreamWriter("C:\Users\omere\Desktop\Username.txt"))
            {
                sw.WriteLine(username);
                sw.WriteLine(password);
            }

            if (username != "C:\Users\omere\Desktop\Username.txt")
            {
                ErrorDisp.Text = "Login failed. Check if you have typed in the correct username and password";
            }

        }
  

Комментарии:

1. username != "C:\Users\omere\Desktop\Username.txt" скорее всего, это не имя пользователя, это имя файла. Некоторые примеры содержимого файлов были бы полезны.

2. Кроме того, что происходит при запуске вашего кода?

3. Почему код использует StreamWriter ? Может быть, попробовать File. Метод ReadAllLines

4. Получить содержимое файла и затем сравнить? Однако я бы серьезно усомнился в таком подходе.

Ответ №1:

попробуйте это

 private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            string username = Username.Text;
            string password = Password.Text;
            using (StreamWriter sw = new StreamWriter("C:\Users\omere\Desktop\Username.txt"))
            {
                sw.WriteLine(username);
                sw.WriteLine(password);
            }

           var lines = File.ReadAllLines("C:\Users\omere\Desktop\Username.txt");

            if (username != lines[0] || password != lines[1]  )
            {
                ErrorDisp.Text = "Login failed. Check if you have typed in the correct username and password";
            }

        }