Утечка памяти - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д