.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(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д