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