Передать список в качестве параметра. Все классы являются «указателями», поэтому при их изменении внутри функции изменения появляются повсюду. Если я не ответил на ваш вопрос, вот что я написал несколько дней назад.
упс, это не показывает передачу списка вокруг. Однако вы по существу делаете ниже, но со списком вместо int? передать список в качестве параметра. Также вы можете найти ключевое слово ref, но это не обязательно.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace DeleteWhenBelow
{
class Program
{
static void Main(string[] args)
{
var dir = @"C:\Users\FixLoc\Documents\";
var count = findAndDelete(dir, false, 1);
Console.WriteLine(count);
}
static long findAndDelete(string folder, bool recurse, long filesize)
{
long count = 0;
if(recurse)
{
foreach (var d in Directory.GetDirectories(folder))
{
count += findAndDelete(d, recurse, filesize);
}
}
foreach (var f in Directory.GetFiles(folder))
{
var fi = new FileInfo(f);
if (fi.Length < filesize)
{
File.Delete(f);
count++;
}
}
return count;
}
}
}