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