Faccio un intervento estemporaneo perché oggi mi sto occupando proprio di cartelle e sottocartelle perché sto facendo una applicazione x fare il clean di tutti i files compilati per rigenerare una release per un progetto.
La funzione
string[] dirsBin = Directory.GetDirectories(this.txtPath.Text, "bin", SearchOption.AllDirectories);
restituisce la lista di tutte le sottocartelle della mia directory (contenuta nella textbox) che contengono la parola bin.
Se volessi quelle che iniziano per Bin scriverei Bin*
Se volessi tutte le sottocartelle scriverei *
A questo punto, avendo tutte le cartelle su un singolo piano, posso controllarle senza necessità di ricorsioni.
Quindi a meno che percorrere l'albero delle sottocartelle con un ordine specifico sia una tua necessità questo rende le cose + semplici.
saluti Sabrina