Обнуляется счетчик в цикле 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;
}