7

如果我有一个每秒执行多次 Console.Writeline 的程序,并且该程序运行了很长时间,控制台会溢出太多行吗?我只想知道它是否最终会引发 IO 异常,或者 Console.Writelines 的数量是否实际上是无限的。

4

3 回答 3

21

不,它不会溢出。如果您检查选项选项卡以获取命令窗口的快捷方式,您将看到缓冲区大小选项。这指定将存储的最大行数。旧的被删除。

正如 Scott 在下面的评论中建议的那样,您可以使用Console.BufferHeight. 这个(当我在我的开发 PC 上测试时)的默认值是300。最大允许值为32766 ( Int16.MaxValue - 1)。

于 2012-07-06T13:53:57.170 回答
4

控制台有一个保存多少行的缓冲区,您可以在 cmd.exe 属性中设置它:

Cmd.exe 属性

所以在 300 行之后它会忘记第 1 行的输出。

于 2012-07-06T13:54:12.607 回答
1

最大允许值为 32766(已更正);

于 2012-07-06T13:53:25.810 回答