我有一个基本的C#控制台应用程序,它从网站上检索日志,但是在100行后,旧日志被删除,用户无法向上滚动并再看到它们,有没有办法增加它的大小保存?
答案 0 :(得分:10)
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..
}
答案 1 :(得分:1)
您可以使用Console.SetBufferSize() http://msdn.microsoft.com/en-us/library/system.console.setbuffersize.aspx
答案 2 :(得分:0)
Console.SetOut也可以帮助您将控制台输出重定向到文件。点击链接获取示例。 http://www.java2s.com/Code/CSharp/Development-Class/DemonstratesredirectingtheConsoleoutputtoafile.htm