我有一个基本的 C# 控制台应用程序,它从网站检索日志,但在大约 100 行之后,旧日志被删除,用户无法再向上滚动查看它们,有什么方法可以增加它的大小吗保存?
最佳答案
Console.SetBufferSize() 为您购买更大的缓冲区。然而,有一些并发症。最大大小有上限,并且 SetBufferSize() 方法中的参数验证代码存在错误。它报告 Int16.MaxValue 是您可以要求的最大行数。那是一个差一个错误。在 Windows 7 上,您可以使用:
static void Main(string[] args) {
Console.SetBufferSize(Console.BufferWidth, 32766);
// etc..
}
在较旧的操作系统(如 XP)上有更严格的限制,缓冲区大小过去被限制为 65536 字节。我身边没有它们可以检查了。那些可能有效的代码是:
static void Main(string[] args) {
var lines = 65536 / 2 / Console.BufferWidth;
Console.SetBufferSize(Console.BufferWidth, lines);
// etc..
}
关于C# 增加控制台日志大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13040574/