C# 有可能从节目中抽出时间休息吗?

C# 有可能从节目中抽出时间休息吗?,c#,exit,break,terminate,timed,C#,Exit,Break,Terminate,Timed,我已经学了三个星期的C#,所以我仍然在学习基础知识 我的问题: 在程序结束时(例如,一个简单的货币转换器),当用户选择退出程序(而不是执行另一个计算)时,是否可以对Console.Writeline进行计时,使其在中断前保持可见 代码: Console.WriteLine("Would you like to perform another conversion?"); Console.WriteLine(""); Console.WriteLine("y for YES"); Cons

我已经学了三个星期的C#,所以我仍然在学习基础知识

我的问题:

在程序结束时(例如,一个简单的货币转换器),当用户选择退出程序(而不是执行另一个计算)时,是否可以对Console.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(毫秒)
一旦您将
系统线程化
添加到您的使用中,该功能即可用。它实际上是将当前正在处理程序的线程置于睡眠状态


PS:Break不应该出现在if语句中,除非您给出的代码在一个循环中,因为Break通常用于在某一点中断循环。如果您试图退出该程序,我建议您使用
return,如果您在主方法中或使用
环境。退出(0)

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

除了让程序等待外,还有一些替代方法。例如,您可以让程序等待,直到您读取完输出

一种方法是使用以下命令等待控制台输入:

Console.ReadKey();

或者,如果使用“启动而不调试”而不是“启动调试”,则程序将自动中断,并在关闭命令提示窗口之前等待按键。

只是一个风格问题,为什么if语句中会出现中断?那可能不应该在那里…非常感谢你的帮助answer@user3647900没问题,谢谢,吕本,很高兴知道。我一直在寻找一种不用按键的方法,但这是有用的信息:)