是否有可能定时中断程序?

本文关键字:程序 中断 定时 有可能 是否 | 更新日期: 2023-09-27 18:03:53

我已经学习c# 3周了,所以还在学习基础知识。

我的问题:

在程序(例如,一个简单的货币转换器)结束时,当用户选择退出程序(而不是执行另一个计算)时,可以对控制台计时吗?Writeline在中断前保持可见?

代码:

 Console.WriteLine("Would you like to perform another conversion?");
 Console.WriteLine("");
 Console.WriteLine("y for YES");
 Console.WriteLine("e for EXIT");
 decision = Console.ReadLine();
 if (decision.Equals("E", StringComparison.OrdinalIgnoreCase))
 {
 Console.WriteLine("Thank-you for using CurrencyConverter");
 break;
 ...

//在程序终止之前,是否可以将上面的writeline挂在几秒钟以提高可读性?

是否有可能定时中断程序?

绝对可以:您可以使用System.Threading.Thread.Sleep(3000),其参数是以毫秒为单位的延迟。

我建议您简单地使用Thread.Sleep(milliseconds),一旦您将System.Threading添加到您的使用中,它就可用了。它实际上是将当前处理程序的线程置于睡眠状态。

PS: Break不应该出现在if语句中,除非你给出的代码是在循环中,因为Break通常用于在某一点跳出循环。如果你试图退出程序,我建议你宁愿使用return;,如果你是在主方法或使用Environment.Exit(0);

您可以使用System.Threading.Sleep(int)函数来指定休眠的毫秒数。

也有一些使程序等待的替代方法。例如,您可以让程序等待,直到您读取完输出。

一种方法是等待控制台输入:
Console.ReadKey();

或者,如果你使用"启动不调试"而不是"开始调试",那么程序将自动中断,并等待一个键在关闭命令提示符窗口。