簡體   English   中英

C#鍛煉程序不起作用

[英]C# Excercise Program doesn't work

所以我是C#編程的新手。 這是我做的一項運動,應該等到我按esc或達到1000000並告訴我完成了多少個循環(在我的程序中為“ duerchlaeufe”)之后。你能幫我嗎?

       Int32 durchlaeufe = 0, i = 0;


        if (Console.ReadKey(true).Key != ConsoleKey.Escape)
        {
            do
            {


                Console.Write("\n {0}", i = i + 10);
                durchlaeufe++;
                System.Threading.Thread.Sleep(100);

            }
            while (i <= 1000000);
        }

        Console.WriteLine("\nDurchläufe:{0}", durchlaeufe);

當您按退出鍵時,它不會退出,因為它沒有監聽循環內的按鍵

您必須檢查循環過程中用戶是否按下過某個鍵(通過Console.KeyAvailable ),如果是,則是否為ESC ,如果是,則斷開。

Int32 durchlaeufe = 0, i = 0;

do
{
    if (Console.KeyAvailable)
    {
        if (Console.ReadKey(true).Key == ConsoleKey.Escape)
            break;
    }
    Console.Write("\n {0}", i = i + 10);
    durchlaeufe++;
    System.Threading.Thread.Sleep(100);
}while (i <= 1000000);

Console.WriteLine("\nDurchläufe:{0}", durchlaeufe);

您需要監視循環內的按鍵按下,然后嘗試類似的操作。

Int32 durchlaeufe = 0, i = 0;
Console.WriteLine("Press ESC to stop");
do {
    while (! Console.KeyAvailable && i < 1000000) {
        Console.Write("\n {0}", i = i + 10);
        durchlaeufe++;
        System.Threading.Thread.Sleep(100);
   }       
} while (Console.ReadKey(true).Key != ConsoleKey.Escape);

Console.WriteLine("\nDurchläufe:{0}", durchlaeufe);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM