c# - C# | 将控制台缓冲区的大小更改为低于最初设置的大小
问题描述
我想知道是否可以更改控制台缓冲区的大小,因为包含的 Console.SetBufferSize 函数不允许您缩小缓冲区。如果我不需要外部库,则可以加分。
解决方案
根据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
推荐阅读
- apache-spark - 当我从 COBOL 文件中读取十进制值时,它们为 NULL
- shell - 使用 shell 将逗号分隔值转换为列表
- python - 如果变量由递增的数字组成,为什么它的值不会改变?
- angular - 调整浏览器窗口大小时如何更改列数?
- linux - 没有选择正确的 GCC 版本
- r - 匹配字符值并更改 R 中不同列中的相应值
- android - SharedPreferencesListener 无故停止工作
- twilio - 识别 Twilio 视频室中的电话呼叫者
- python-2.7 - 用新的字符串文本替换结束字符串文本
- react-native - 如何解决使用 AsyncStorage(已弃用)警告?使用社区(正确)库