C# Can the Console overflow with too many Writelines?

懵懂的女人 提交于 2019-12-23 08:03:18

问题


If I have a program that performs Console.Writeline multiple times per second, and the program is left running for a long period of time, can the console overflow with too many lines? I just want to know if it will eventually throw an IO exception or if number of Console.Writelines is virtually infinite.


回答1:


No, it won't overflow. If you check the Options tab for a shortcut to the command window you will see a buffer size option. This specifies the maximum number of lines that will be stored. Older ones get deleted.

As Scott suggests in his comment below, you can access this setting from your code using Console.BufferHeight. The default value for this (when I tested on my development PC) is 300. The maximum allowed value is 32766 (Int16.MaxValue - 1).




回答2:


The console has a buffer of how many lines it keeps, you can set it in the cmd.exe properties:

So after 300 lines it will forget what was output at line 1.




回答3:


the maximum allowed value is 32766 (corrected);



来源:https://stackoverflow.com/questions/11363552/c-sharp-can-the-console-overflow-with-too-many-writelines

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!