.NET 4.x Выход из цикла по нажатию клавиши - C#
Формулировка задачи:
В очередной раз поднимаю эту тему.
Задача такая, ходить по циклу бесконечное количество раз и завершить его после нажатия Esc.
В моём случае почему то btn.key == ConsoleKey.Escape не работает, так как btn не существует в данном контексте.
Благодарю за ответы.
Листинг программы
- namespace PingMonitor
- {
- class ReadFile
- {
- public void ReadAndPing(string path)
- {
- File.OpenRead(path);
- do // Начала цикла
- {
- foreach (string ip in File.ReadLines(path)) //читаем в ip строки из файла в path
- {
- //Console.WriteLine(ip);
- Ping pingSender = new Ping();
- PingOptions options = new PingOptions();
- options.Ttl = 60; //Продолжительность жизни пакета в секундах
- int timeout = 120; //Таймаут выводется в ответе reply.RoundtripTime
- string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; //Строка длиной 32 байта
- byte[] buffer = Encoding.ASCII.GetBytes(data); //Преобразование строки в байты, выводится reply.Buffer.Length
- PingReply reply = pingSender.Send(ip, timeout, buffer, options);
- Console.WriteLine("Сервер: {0} Время={1} TTL={2}", reply.Address.ToString(), reply.RoundtripTime, reply.Options.Ttl); //Выводим всё на консоль
- }
- // ConsoleKeyInfo btn = Console.ReadKey(); //Создаём переменную которая хранит метод Описывающий нажатую клавишу консоли
- // if (btn.Key == ConsoleKey.Escape) break;
- var btn = Console.ReadKey(); //Переенная для чтения нажатия клавиши
- }
- while (btn.key == ConsoleKey.Escape); //Чтение нажатия клавиши.
- }
- }
- }
Решение задачи: «.NET 4.x Выход из цикла по нажатию клавиши»
textual
Листинг программы
- ConsoleKeyInfo btn;
- do
- {
- //...
- btn = Console.ReadKey();
- }
- while (btn.Key != ConsoleKey.Escape);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д