我正在尝试在C#控制台窗口中打印1820行。但是,当打印完成并且我查看控制台窗口时,我只能看到300行。这里有什么问题? 当我写入文件时,我可以看到1820行!所以,我已将问题缩小到OUTPUT控制台窗口
答案 0 :(得分:7)
大多数Windows版本的标准控制台窗口都有有限的缓冲线 - 300行听起来像是一个合理的缓冲区。
当您打开cmd.exe
窗口然后右键单击左上角的图标并从上下文菜单中选择Properties
时,您可以看到(并更改)该限制:
您可以增加该缓冲区的大小以提供更多行 - 请记住,当您的控制台窗口打开时,这些行将占用系统中的RAM!
答案 1 :(得分:5)
您可以使用Console.SetBufferSize()使控制台缓冲区更大:
class Program {
static void Main(string[] args) {
Console.SetBufferSize(Console.WindowWidth, 2000);
// etc..
}
}
- 小额增加 -
如果希望获得最大可能的缓冲区:
Console.SetBufferSize(Console.WindowWidth, Int16.MaxValue-1);
你不允许任何> = Int16.MaxValue
答案 2 :(得分:3)
调整窗口的缓冲区大小:
如果您需要更多,那么您需要使用GUI或写入文件并在文本编辑器中查看。