3

所以我正在使用一个控制台应用程序,它一次可以持续数天、数周或数月。

它将有用的信息记录到一个文本文件中,但它也写入控制台。我是否必须担心控制台内存由于某种原因没有被清除。好像没问题。

我写了一个小测试来运行午餐。我添加了一些随机间隔的字母,以便我的同事认为我必须处理一些大的东西并且可以吃更长的午餐。

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);

            }

因此,在不写入文件的情况下,内存看起来很稳定。我只是想确认一下,如果我确实有内存问题,那不是来自控制台...

如果我也将它记录到文本文件中,内存确实会略微攀升。

4

2 回答 2

4

它将有用的信息记录到一个文本文件中,但它也写入控制台。我是否必须担心控制台内存由于某种原因没有被清除。好像没问题。

除非您将控制台设置为具有巨大的缓冲区,或者将其重定向到内存文件系统或类似的东西。在正常情况下,应该没问题。

于 2012-07-09T18:44:38.430 回答
1

不是问题,任何由 Console.SetBufferSize() 指定的从控制台缓冲区滚动出来的文本都属于位桶。最大缓冲区大小为 64KB,这是 Console 类忘记检查的限制。

于 2012-07-09T19:37:36.407 回答