所以我是用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);
答案 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);