1

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

Input
Input2 [CTRL-C],

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

4

1 回答 1

3

正如我在上面的评论中所建议的,它显然可以:

  • CTRL +C 和
  • 通过使用 Console.KeyAvailable 和 Console.ReadKey 循环剩余输入来处理 CTRL-C。
于 2012-11-10T18:58:31.647 回答