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

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

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

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

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

Cmd.exe属性

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

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