Estoy trabajando en algo que requiere atravesar el sistema de archivos y para cualquier ruta determinada, necesito saber qué tan "profundo" estoy en la estructura de carpetas. Esto es lo que estoy usando actualmente:C# ¿La mejor manera de obtener la profundidad de la carpeta para una ruta determinada?
int folderDepth = 0;
string tmpPath = startPath;
while (Directory.GetParent(tmpPath) != null) {
folderDepth++;
tmpPath = Directory.GetParent(tmpPath).FullName;
}
return folderDepth;
Esto funciona, pero sospecho que hay una manera mejor/más rápida? Muy agradecido por cualquier comentario.
¡Me gusta la idea! Solo una nota rápida, Length es una propiedad, no un método. – BFree
Vaya, buen punto; Voy a editar eso ... –
Se romperá para secuencias válidas como C: \ Folder \ .. \ boot.ini. O bien, para rutas de red UNC como \\ server \ share \ file. Y, probablemente debería usar Path.DirectorySeperatorCharacter y Path.AltDirectorySeperatorCharacter. –