[C#] nie działa SearchOption.AllDirectories


(system) #1

Witam,

nie działa mi ta linia kodu, mająca wyszukiwać pliki *.lnk we wszystkich podkatalogach danej lokalizacji

string pomocniczy = partycja + lokalizacja3;

string[] pliki = Directory.GetFiles(@pomocniczy, "*.lnk", SearchOption.AllDirectories);

dodam że wpisanie linii

string pomocniczy = partycja + lokalizacja3;

string[] pliki = Directory.GetFiles(@pomocniczy, "*.lnk");

wyświetla pliki podanej lokalizacji (ścieżka pomocniczy), oczywiście bez wyszukiwania w podkatalogach

Dlaczego nie działa funkcja SearchOption.AllDirectories?


([alex]) #2

Będą wyszukiwane również podkatalogi o ile będą mieli rozszerzenie .lnk.

Owszem dałeś opcje z podfolderami ale zawęziłeś wyszukiwanie do *.lnk;


(system) #3

Chyba się mylisz, bo w takim razie, jeśli dobrze rozumiem, tworzenie funkcji SearchOption.AllDirectories nie ma sensu jeśli trzeba założyć ograniczenie dla rozszerzenia lnk.

Żaden katalog nie będzie miał tego rozszerzenia więc i funkcja byłaby bez sensu...


(somekind) #4

Najpierw kwestie semantyczne - SearchOption.AllDirectories to nie jest funkcja (w C# w ogóle nie ma funkcji zresztą), tylko jedna z wartości typu wyliczeniowego.

Po drugie, co to jest to: "@pomocniczy"? Po co ta małpa przed nazwą zmiennej?

A co do meritum - SOA#1.

Nie ma najmniejszego powodu, dla którego tak użyta metoda Directory.GetFiles miałaby nie zadziałać. Problem jest gdzie indziej.