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

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

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

В очередной раз поднимаю эту тему. Задача такая, ходить по циклу бесконечное количество раз и завершить его после нажатия Esc.
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); //Чтение нажатия клавиши.
 
        }
    }
}
В моём случае почему то btn.key == ConsoleKey.Escape не работает, так как btn не существует в данном контексте. Благодарю за ответы.

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

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

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


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

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

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