.NET 4.x Не получается работать с циклами while и foreach - C#

Узнай цену своей работы

Формулировка задачи:

Пытаюсь написать что-то вроде модели механизма ввода логина-пароля, но не могу сделать две вещи: 1) заставить при "Login failed!" программу работать дальше по циклу и принимать новую пару логин-пароль; 2) сделать так, чтобы оно выдавало мне только один ответ: при поиске уже второй пары сначала сравнивает с первой парой в базе и пишет "Login failed!", а уже потом при сравнении со второй "Login success!".
Листинг программы
  1. static void Main(string[] args)
  2. {
  3. List<string> loginBase = new List<string>();
  4. loginBase.Add("log one");
  5. loginBase.Add("log two");
  6. bool logInd;
  7. while (logInd = true)
  8. {
  9. string login = Console.ReadLine();
  10. string pass = Console.ReadLine();
  11. string enterpass = login + " " + pass;
  12. foreach (string el in loginBase)
  13. {
  14. if (String.Equals(el, enterpass))
  15. {
  16. logInd = true;
  17. Console.WriteLine("Login success!");
  18. break;
  19. }
  20. else
  21. {
  22. logInd = false;
  23. Console.WriteLine("Login failed!");
  24.  
  25. }
  26. }
  27. break;
  28. }
  29. Console.WriteLine("Press any button...");
  30. Console.ReadKey();
  31. }
  32. }
Хочу сделать просто ради того, чтобы сделать, чистый интерес.

Решение задачи: «.NET 4.x Не получается работать с циклами while и foreach»

textual
Листинг программы
  1. //метод, проверяющий есть ли в списке lBase логин/пароль logPas
  2. static bool CheckLoginNPassword(List<string> lBase, string logPas)
  3. {
  4.     foreach (string el in lBase)    //перебирается список
  5.     {
  6.         if (el == logPas)           //если нашлось совпадение
  7.             return true;            //метод возвращает true
  8.     }
  9.     return false;                   //если не нашлось совпадения при переборе списка, метод возвращает false
  10. }
  11. static void Main(string[] args)
  12. {
  13.     List<string> loginBase = new List<string>();
  14.     loginBase.Add("log one");
  15.     loginBase.Add("log two");
  16.     while (true) //бесконечный цикл
  17.     {
  18.         string login = Console.ReadLine();
  19.         string pass = Console.ReadLine();
  20.         string enterpass = login + " " + pass;
  21.         if (CheckLoginNPassword(loginBase, enterpass)) //провряем, есть ли введенный логин/пароль в списке, и если есть, то
  22.         {
  23.             Console.WriteLine("Login success!"); //сообщаем об этом
  24.             break; //выходим из бесконечного цикла
  25.         }
  26.         else //если логин/пароль в списке отсутствует
  27.         {
  28.             Console.WriteLine("Login failed!"); //сообщаем об этом и продолжаем работу цикла
  29.         }
  30.     }
  31.     Console.WriteLine("Press any key...");
  32.     Console.ReadKey();
  33. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут