Утечка памяти - C# (187838)
Формулировка задачи:
Здравствуйте.
Навоял такой вот кодик.
Когда много файлов в директории dir, происходит утечка памяти, т.е. программа постоянно начинает есть всё больше и больше; как я на Новый Год :-)
Помогите, пожалуйста, разобраться.
Спасибо!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Windows.Forms;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
IEnumerable<string> lines1 = File.ReadAllLines("new.txt").AsEnumerable<string>();
DirectoryInfo dir = new DirectoryInfo(Application.StartupPath+"\\dir");
foreach (var item in dir.GetFiles())
{
var lines2 = File.ReadAllLines("dir\" + item.Name).ToArray();
lines1 = lines1.Except<string>(lines2);
}
File.AppendAllLines("out.txt", lines1);
}
}
}Решение задачи: «Утечка памяти»
textual
Листинг программы
string[] lines1 = File.ReadAllLines("new.txt");
string dir = Path.Combine(Application.StartupPath, "dir");
foreach (string name in Directory.EnumerateFiles(dir))
{
var lines2 = File.ReadLines(name);
lines1 = lines1.Except(lines2).ToArray();
if (lines1.Length == 0) break;
}
File.AppendAllLines("out.txt", lines1);