首页 > 解决方案 > C# | 将控制台缓冲区的大小更改为低于最初设置的大小

问题描述

我想知道是否可以更改控制台缓冲区的大小,因为包含的 Console.SetBufferSize 函数不允许您缩小缓冲区。如果我不需要外部库,则可以加分。

标签: c#consoleconsole-applicationbuffer

解决方案


根据Console.SetBufferSize 的 MSDN 文档,它不仅限于增加缓冲区。但是,您必须在缩小缓冲区之前调整控制台窗口大小。

这个例子有效:

Console.WriteLine($"Current buffer size: {Console.BufferWidth}x{Console.BufferHeight}");
Console.SetWindowSize(1, 1);
Console.SetBufferSize(80, 80);
Console.SetWindowSize(40, 20);
Console.WriteLine($"New buffer size: {Console.BufferWidth}x{Console.BufferHeight}");

输出:

当前缓冲区大小:120x9001
新缓冲区大小:80x80


推荐阅读