【问题标题】:how to keep a simple c# console app running after end of the application. [duplicate]如何在应用程序结束后保持简单的 c# 控制台应用程序运行。 [复制]
【发布时间】:2018-06-18 13:34:54
【问题描述】:

我有一个用 c# 编写的简单控制台工具。一旦用户通过键入并按回车键输入一些数据。我的工具可以正常工作并为用户打印一些有用的信息。由于用户已经按下回车键,即使我输入 Console.WriteLine(); 控制台应用程序窗口也会关闭。因此用户无法从控制台应用程序中读取输出信息。

我添加了 Console.WriteLine();两次保持窗口打开,但它会在应用程序结束后立即关闭应用程序。目前,唯一的方法是从命令行运行控制台应用程序。当应用程序从命令行完成时。它使控制台保持打开状态,然后用户可以读取应用程序输出。

但我想要它,以便用户可以通过从文件资源管理器中双击来打开应用程序。它将完成它的工作并保持控制台为用户打开。以便用户可以读取输出。然后他可以通过关闭按钮关闭。

ps:请注意,我不想要任何类型的后台运行服务。对我来说,唯一重要的事情是让用户阅读应用程序的最后一条输出消息。

【问题讨论】:

  • 再添加一个Console.ReadKey/Line()怎么样?
  • 使用Console.ReadLine请求用户在关闭前输入

标签: c# console-application


【解决方案1】:

最简单的方法是在代码末尾添加Console.ReadKey();,这样应用会在关闭前等待用户输入。

【讨论】:

  • @L.Guthardt:来自help/privileges/comment:“我什么时候不应该发表评论?回答问题或提供现有答案的替代解决方案;相反,发布实际答案(或编辑以扩展现有答案);
  • @L.Guthardt 如果它是一个答案,它应该作为答案发布,而不是评论。 “评论存在以便用户可以交谈 [...] 而无需 [...] 尝试回答所提出的问题”(来自 How do comments work?
  • @ZoharPeled 同意你们两个。从技术上讲,这是一个答案,但由于你们都知道this 问题在 SO 上存在多次,因此无需寻求答案,因为它应该被关闭。在我看来,这是不必要的,而且看起来很贪婪。
  • @L.Guthardt,走开。你的 cmets 比他们的回答更具破坏性。
  • @L.Guthardt 甚至重复的问题有时也值得回答。你为什么要关心某人是否从中获得了一些声誉?此外,问题是重复的这一事实并不能保证它会被关闭。事实上,就在今天,我标记了一个重复的问题(最终被关闭),并且由版主回答。我还对答案表示赞同,甚至提出改进建议。
【解决方案2】:

只需使用Console.ReadKey();

Console.Write(yourOutput);
Console.ReadKey();

【讨论】:

  • 可以简单地添加为评论,无需为几行文字使用答案。
  • @L.Guthardt,这是一个答案。它绝对应该放在“答案”部分,而不是 cmets。
  • 从技术上讲这是一个答案,但是既然你们都知道 this 问题在 SO 上存在多次,因此无需寻求答案,因为它应该得到关闭。
  • @L.Guthardt,你的意思是什么?一个答案就是一个答案。谁是“你们”?只有我在这里。
  • 如果您想对整个 SO 社区说些什么,对我的回答发表评论不是这样做的地方,因为没有多少人会看到它。为什么不尝试元堆栈溢出?
猜你喜欢
  • 2010-10-16
  • 1970-01-01
  • 2011-02-04
  • 2010-11-17
  • 1970-01-01
  • 2013-06-30
  • 2019-01-30
  • 2011-02-10
  • 1970-01-01
相关资源
最近更新 更多