我需要计算指定目录路径中的文件和目录。但我想排除.git文件夹和此文件夹中的文件不被计算在内。我试过 -
int maxCount = Directory.GetFiles(loadedDirectoryPath, "*.*", SearchOption.AllDirectories).Length + Directory.GetDirectories(loadedDirectoryPath, "*.*", SearchOption.AllDirectories).Length;
对于排除 .git,我可以写 -
Directory.GetDirectories(loadedDirectoryPath, "*.*", SearchOption.AllDirectories).Where(item => !item.EndsWith(".git")).ToArray().Length;
这将排除 .git 目录,但是如何防止文件(存在于 .git 目录中)被计算在内?
据我所知,GetDirectories() 只处理文件夹而不处理文件,GetFiles() 只处理文件,而不关心 GetDirectories() 排除的目录。