Обнуляется счетчик в цикле foreach рекурсивной функции - C#

Узнай цену своей работы

Формулировка задачи:

Вызываю функцию: Передаю значение count = 0.
        private void сlearFs_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            int amount = 0;
            amount = AdmFunc.ClearFs(@"...", amount);
            MessageBox.Show("Всего файлов: " + amount.ToString());
        }
Функция: При смене dir переменная count обнуляется. Таким образом, сумма подсчитывается неправильно.
        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;
        }
Как построить логику, чтобы значение переменной 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;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5