Список подкаталогов 3 уровня глубоко с помощью LINQ C#

Я хотел бы знать, существует ли лучшая альтернатива моему после кода (предпочтительно использующий LINQ)

            #region List and filter directories to only 3 levels deep
            // List all subdirectories within main directory
            string[] folders = Directory.GetDirectories(@"C:\pdftest\", "*" ,SearchOption.AllDirectories);
            List<string> subdirectories = new List<string>();

            //Filter away all main directories, now we are left with subdirectories 3 levels deep
            for (int i = 0; i<folders.Length; i++)
            {
                int occurences = folders[i].Split('\\').Length-1;
                if (occurences==4)
                    subdirectories.Add(folders[i]);             
            }
            #endregion
1
задан paradox 6 May 2010 в 08:55
поделиться

1 ответ

Не проверено, но что-то вроде этого должно получиться.

        string[] subDirectories = Directory.GetDirectories(@"C:\pdftest\", "*", SearchOption.AllDirectories).Where(folder => folder.Split('\\').Length <= 4).ToArray();
2
ответ дан 3 September 2019 в 00:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: