在C#控制台窗口中打印
我试图在C#控制台窗口中打印1820行。但是,当打印完成并且我查看控制台窗口时,我只能看到300行。这里有什么问题?在C#控制台窗口中打印,c#,C#,我试图在C#控制台窗口中打印1820行。但是,当打印完成并且我查看控制台窗口时,我只能看到300行。这里有什么问题? 当我写入文件时,我可以看到1820行!因此,我将问题缩小到了输出控制台窗口大多数版本的Windows中的标准控制台窗口都有一个有限的缓存线,它们保留了300行,这听起来是一个合理的缓存 当您打开cmd.exe窗口,然后右键单击左上角的图标并从关联菜单中选择Properties时,您可以看到(并更改)该限制: 您可能可以增加该缓冲区的大小以提供更多的行—请记住,当控制台窗口打开时
当我写入文件时,我可以看到1820行!因此,我将问题缩小到了输出控制台窗口大多数版本的Windows中的标准控制台窗口都有一个有限的缓存线,它们保留了300行,这听起来是一个合理的缓存 当您打开
cmd.exe
窗口,然后右键单击左上角的图标并从关联菜单中选择Properties
时,您可以看到(并更改)该限制:
您可能可以增加该缓冲区的大小以提供更多的行—请记住,当控制台窗口打开时,这些行将占用系统中的RAM 调整窗口的缓冲区大小:
- 单击窗口左上角的图标
- 性质
- 布局
- 屏幕缓冲区大小
- 输入高度的最大值:9999
如果您需要更多,则需要使用GUI或写入文件并在文本编辑器中查看。您可以使用Console.SetBufferSize()使控制台缓冲区变大:
class Program {
static void Main(string[] args) {
Console.SetBufferSize(Console.WindowWidth, 2000);
// etc..
}
}
--少量添加--
如果希望获得最大可能的缓冲区:
Console.SetBufferSize(Console.WindowWidth, Int16.MaxValue-1);
不允许任何东西>=Int16.MaxValue这实际上是最好的答案。