.NET 4.x Выход из цикла по нажатию клавиши - C#

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

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

В очередной раз поднимаю эту тему. Задача такая, ходить по циклу бесконечное количество раз и завершить его после нажатия Esc.
Листинг программы
  1. namespace PingMonitor
  2. {
  3. class ReadFile
  4. {
  5. public void ReadAndPing(string path)
  6. {
  7. File.OpenRead(path);
  8. do // Начала цикла
  9. {
  10. foreach (string ip in File.ReadLines(path)) //читаем в ip строки из файла в path
  11. {
  12. //Console.WriteLine(ip);
  13. Ping pingSender = new Ping();
  14. PingOptions options = new PingOptions();
  15. options.Ttl = 60; //Продолжительность жизни пакета в секундах
  16. int timeout = 120; //Таймаут выводется в ответе reply.RoundtripTime
  17. string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; //Строка длиной 32 байта
  18. byte[] buffer = Encoding.ASCII.GetBytes(data); //Преобразование строки в байты, выводится reply.Buffer.Length
  19. PingReply reply = pingSender.Send(ip, timeout, buffer, options);
  20. Console.WriteLine("Сервер: {0} Время={1} TTL={2}", reply.Address.ToString(), reply.RoundtripTime, reply.Options.Ttl); //Выводим всё на консоль
  21. }
  22. // ConsoleKeyInfo btn = Console.ReadKey(); //Создаём переменную которая хранит метод Описывающий нажатую клавишу консоли
  23. // if (btn.Key == ConsoleKey.Escape) break;
  24. var btn = Console.ReadKey(); //Переенная для чтения нажатия клавиши
  25. }
  26. while (btn.key == ConsoleKey.Escape); //Чтение нажатия клавиши.
  27. }
  28. }
  29. }
В моём случае почему то btn.key == ConsoleKey.Escape не работает, так как btn не существует в данном контексте. Благодарю за ответы.

Решение задачи: «.NET 4.x Выход из цикла по нажатию клавиши»

textual
Листинг программы
  1. ConsoleKeyInfo btn;
  2. do
  3. {
  4.     //...
  5.     btn = Console.ReadKey();
  6. }
  7. while (btn.Key != ConsoleKey.Escape);

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


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

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

12   голосов , оценка 4 из 5

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

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

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