Pracuję nad czymś, co wymaga przechodzenia przez system plików i dla dowolnej ścieżki, muszę wiedzieć, jak "głęboko" jestem w strukturze folderów. Oto, czego aktualnie używam:C# Najlepszy sposób na uzyskanie głębokości folderu dla danej ścieżki?
int folderDepth = 0;
string tmpPath = startPath;
while (Directory.GetParent(tmpPath) != null) {
folderDepth++;
tmpPath = Directory.GetParent(tmpPath).FullName;
}
return folderDepth;
Działa to, ale podejrzewam, że istnieje lepszy/szybszy sposób? Bardzo zobowiązany za wszelkie opinie.
Podobny pomysł! Krótka notatka, Długość to właściwość, a nie metoda. – BFree
Ups, dobry punkt; Zmienię to ... –
Zepsuje się dla innych ważnych sekwencji, takich jak C: \ Folder \ .. \ boot.ini. Lub w przypadku ścieżek sieciowych UNC, takich jak \\ serwer \ udział \ plik. I prawdopodobnie powinieneś użyć Path.DirectorySeperatorCharacter i Path.AltDirectorySeperatorCharacter. –