如何从控制台读取多行用户输入?

时间:2012-11-10 17:41:37

标签: c# windows input console

我想从控制台读取多行用户输入,但也允许使用CTRL-C之类的转义序列终止输入。我的问题是当按下转义序列时取消对ReadLine()的最后一次调用。我尝试过多线程并强制线程关闭,但我的问题是获取最后一行用户输入。当按下转义序列时,最后一行丢失,我无法使用主线程中的ReadLine()将其恢复。如果我输入这样的内容:

Input
Input2 [CTRL-C],

我只得到'输入\ n'。有没有办法获得多行输入,但在按下转义序列时捕获最后一行?

1 个答案:

答案 0 :(得分:3)

正如我在上面的评论中所建议的,它显然适用于:

  • 为CTRL + C和
  • 设置console control handler
  • 通过使用Console.KeyAvailable和Console.ReadKey循环其余输入来处理CTRL-C。