所以我正在使用一个控制台应用程序,它将持续数天,数周或数月。
它将有用信息记录到文本文件中,但它也会写入控制台。我是否必须担心控制台内存由于某种原因没有被清除。好像没问题。
我写了一个小测试来吃午饭。我添加了一些随机分隔的字母,以便我的同事认为我必须处理大的东西并且可以吃更长的午餐。
for (Int64 i = 0; i < 1000000000000000000; i++)
{
string random = Path.GetRandomFileName();
random = random.Replace(".", "");
random = random.Replace("m", " ");
random = random.Replace("a", " ");
random = random.Replace("h", " ");
Console.WriteLine("i " + i + " " + random);
}
因此,内存看起来稳定而无需写入文件。我只是想要一些确认,如果我确实有内存问题,那么它不是来自控制台...
如果我将其记录到文本文件中,内存确实会略微攀升。
答案 0 :(得分:4)
它将有用信息记录到文本文件中,但它也会写入控制台。我是否必须担心控制台内存由于某种原因没有被清除。好像没事。
除非您将控制台设置为具有巨大的缓冲区,否则它将被重定向到内存中的文件系统,或者类似的东西。在正常情况下,应该没问题。
答案 1 :(得分:1)
不是问题,任何按Console.SetBufferSize()指定的方式滚动控制台缓冲区的文本都属于位桶。最大缓冲区大小为64KB,这是Console类忘记检查btw的限制。