如果我的程序每秒多次执行Console.Writeline,并且程序长时间运行,控制台是否会溢出太多行?我只是想知道它是否最终会抛出IO异常,或者Console.Writelines的数量是否几乎无限。
答案 0 :(得分:21)
不,它不会溢出。如果您检查选项选项卡以获取命令窗口的快捷方式,您将看到缓冲区大小选项。这指定了将存储的最大行数。旧的被删除。
正如Scott在下面的评论中所建议的那样,您可以使用Console.BufferHeight
从代码中访问此设置。此默认值(当我在开发PC上测试时) 300 。允许的最大值为 32766 (Int16.MaxValue - 1
)。
答案 1 :(得分:4)
控制台有一个缓冲区,它保留了多少行,您可以在cmd.exe属性中设置它:
因此,在300行后,它将忘记第1行的输出。
答案 2 :(得分:1)
允许的最大值为32766(已更正);