Страницы

Ярлыки

ДШИ-200 (1) КСВУ-6 (1) ЛЧМ (1) МДР-23 (1) микроконтроллер (1) перенаправление (1) С (1) структуры (1) учебный курс (1) AC/DC (1) ADC (1) ADS1248 (1) Altium (1) Altuim (1) Amolifer (1) ARM (1) assembler (2) Asynchronous (1) at command (3) at#eaddr (1) at#epassw (1) at#esmtp (1) at#euser (1) at#gprs (1) at#selint=2 (1) at#sgact (1) at#tcpatcmdseq (1) ATX (1) AVR (2) bit (1) boost (1) boot (2) bootlloader (1) C (6) C# (7) C++ (1) CMSIS (1) command (1) CP2101 (1) CSD (1) Danfoss (6) DBGMCU (1) debug (1) debug.ini (1) delegate (1) Discovery (1) DMA (1) DRV8805 (1) DWT (1) e-mail (1) email (1) Exel (1) exFAT (1) FC-051 (1) gl868-dual (2) gl868-dual cmux (1) GPIO (2) GSM (1) I2C (1) IAR (1) ID (1) Invoke (1) Keil (3) LabVIEW (1) Linux (1) LMP7721 (1) LoRa (3) mdmread (1) memory (1) MODBUS (1) Operation Amplifer (1) pack (1) printf (2) printf() (1) RCC (1) retargetting (1) RFM95/96/87/98(W) (1) RS232 (4) RS485 (1) RSAPI.DLL (1) RSS (1) RTC (2) send (2) SerialPort (1) Silabs (1) spl (1) standard peripherals library (1) startup (1) stepper (2) STlink (1) STlink/V2 (2) STM32 (10) stm32 stm32f10x (1) STM32DBG.IN (1) STM32F (19) STM32F103 (4) struct (1) Structure (1) system (1) SystemInit (1) Task (1) telit (5) thread (4) TIM (1) Type Cast (1) UART (1) uni-trend (1) USART (6) USB (1) UT61B (1) viewer (1)

среда, 4 февраля 2015 г.

Как в C# прервать работу цикла при нажатии клавиши?

Есть цикл, например этот:
while(true)

{

Console.Write("Текст ");

}

Console.Write("Цикл завершился");

Console.ReadKey();
Цикл работает вечно. Нужно что бы он прерывался при нажатии какой то клавиши, например «Q» и продолжалась работа программы. Как это можно сделать?
Serge_Bliznykov:
C#  Копировать код

// This example demonstrates the Console.KeyAvailable property.

using System;

using System.Threading;


class Sample

{

    public static void Main()

    {

    ConsoleKeyInfo cki = new ConsoleKeyInfo();


    do {

        Console.WriteLine("\nPress a key to display; press the 'x' key to quit.");


// Your code could perform some useful task in the following loop. However,

// for the sake of this example we'll merely pause for a quarter second.


        while (Console.KeyAvailable == false)

            Thread.Sleep(250); // Loop until input is entered.

        cki = Console.ReadKey(true);

        Console.WriteLine("You pressed the '{0}' key.", cki.Key);

        } while(cki.Key != ConsoleKey.X);

    }

}
или
 ConsoleKeyInfo cki = new ConsoleKeyInfo();


            while (true)

            {

                Console.Write("Текст ");

                if (Console.KeyAvailable == true)

                {

                    cki = Console.ReadKey(true);

                    if (cki.Key == ConsoleKey.X)

                    {

                        break;

                    }

                }

            }

            Console.Write("Цикл завершился");

            Console.ReadKey();

Комментариев нет:

Отправить комментарий

ваше мнение...