C#控制台是否会溢出过多的Writelines?

时间:2012-07-06 13:51:49

标签: c# console.writeline

如果我的程序每秒多次执行Console.Writeline,并且程序长时间运行,控制台是否会溢出太多行?我只是想知道它是否最终会抛出IO异常,或者Console.Writelines的数量是否几乎无限。

3 个答案:

答案 0 :(得分:21)

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

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

答案 1 :(得分:4)

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

Cmd.exe properties

因此,在300行后,它将忘记第1行的输出。

答案 2 :(得分:1)

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