C#练习计划不起作用

时间:2015-08-19 06:59:06

标签: c# visual-studio-2013

所以我是用C#编程的新手。这是我做的一个练习 应该算一下,直到我按下esc或它达到1 000 000并且应该告诉我它制作了多少个循环(“我的程序中的”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);

3 个答案:

答案 0 :(得分:2)

按下转义键时不会退出,因为它没有收听循环中的按键

答案 1 :(得分:2)

你必须检查用户在循环过程中是否按下了一个键(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); ),如果是,是否 ESC ,如果是,则中断。

method

答案 2 :(得分:0)

您需要监控循环内的按键,尝试这样的事情..

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);