.NET 4.x Не получается работать с циклами while и foreach - C#
Формулировка задачи:
Пытаюсь написать что-то вроде модели механизма ввода логина-пароля, но не могу сделать две вещи:
1) заставить при "Login failed!" программу работать дальше по циклу и принимать новую пару логин-пароль;
2) сделать так, чтобы оно выдавало мне только один ответ: при поиске уже второй пары сначала сравнивает с первой парой в базе и пишет "Login failed!", а уже потом при сравнении со второй "Login success!".
Хочу сделать просто ради того, чтобы сделать, чистый интерес.
Листинг программы
- static void Main(string[] args)
- {
- List<string> loginBase = new List<string>();
- loginBase.Add("log one");
- loginBase.Add("log two");
- bool logInd;
- while (logInd = true)
- {
- string login = Console.ReadLine();
- string pass = Console.ReadLine();
- string enterpass = login + " " + pass;
- foreach (string el in loginBase)
- {
- if (String.Equals(el, enterpass))
- {
- logInd = true;
- Console.WriteLine("Login success!");
- break;
- }
- else
- {
- logInd = false;
- Console.WriteLine("Login failed!");
- }
- }
- break;
- }
- Console.WriteLine("Press any button...");
- Console.ReadKey();
- }
- }
Решение задачи: «.NET 4.x Не получается работать с циклами while и foreach»
textual
Листинг программы
- //метод, проверяющий есть ли в списке lBase логин/пароль logPas
- static bool CheckLoginNPassword(List<string> lBase, string logPas)
- {
- foreach (string el in lBase) //перебирается список
- {
- if (el == logPas) //если нашлось совпадение
- return true; //метод возвращает true
- }
- return false; //если не нашлось совпадения при переборе списка, метод возвращает false
- }
- static void Main(string[] args)
- {
- List<string> loginBase = new List<string>();
- loginBase.Add("log one");
- loginBase.Add("log two");
- while (true) //бесконечный цикл
- {
- string login = Console.ReadLine();
- string pass = Console.ReadLine();
- string enterpass = login + " " + pass;
- if (CheckLoginNPassword(loginBase, enterpass)) //провряем, есть ли введенный логин/пароль в списке, и если есть, то
- {
- Console.WriteLine("Login success!"); //сообщаем об этом
- break; //выходим из бесконечного цикла
- }
- else //если логин/пароль в списке отсутствует
- {
- Console.WriteLine("Login failed!"); //сообщаем об этом и продолжаем работу цикла
- }
- }
- Console.WriteLine("Press any key...");
- Console.ReadKey();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д