Обнуляется счетчик в цикле foreach рекурсивной функции - C#
Формулировка задачи:
Вызываю функцию:
Передаю значение count = 0.
Функция:
При смене dir переменная count обнуляется. Таким образом, сумма подсчитывается неправильно.
Как построить логику, чтобы значение переменной count определялось верно?
Листинг программы
- private void сlearFs_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
- {
- int amount = 0;
- amount = AdmFunc.ClearFs(@"...", amount);
- MessageBox.Show("Всего файлов: " + amount.ToString());
- }
Листинг программы
- public static int ClearFs(string p, int count)
- {
- DirectoryInfo mDir = new DirectoryInfo(p);
- DirectoryInfo[] drs = mDir.GetDirectories();
- foreach (DirectoryInfo dir in drs)
- {
- FileInfo[] fls = dir.GetFiles();
- foreach (FileInfo file in fls)
- if (file.Name.Contains(...))
- {
- file.Delete();
- count++;
- }
- ClearFs(dir.FullName, count);
- }
- return count;
- }
Решение задачи: «Обнуляется счетчик в цикле foreach рекурсивной функции»
textual
Листинг программы
- public static int ClearFs(string p)
- {
- int count=0;
- DirectoryInfo mDir = new DirectoryInfo(p);
- DirectoryInfo[] drs = mDir.GetDirectories();
- foreach (DirectoryInfo dir in drs)
- {
- FileInfo[] fls = dir.GetFiles();
- foreach (FileInfo file in fls)
- if (file.Name.Contains(...))
- {
- file.Delete();
- count++;
- }
- count+=ClearFs(dir.FullName, count);
- }
- return count;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д