namespace File_Folder_Helper.Helpers; internal static class HelperDeleteEmptyDirectories { internal static bool DeleteEmptyDirectories(string rootDirectory) { bool result; if (!Directory.Exists(rootDirectory)) result = false; else { string[] files; string[] directories = Directory.GetDirectories(rootDirectory, "*", SearchOption.TopDirectoryOnly); if (directories.Length > 0) files = Array.Empty(); else files = Directory.GetFiles(rootDirectory, "*", SearchOption.AllDirectories); if (directories.Length == 0 && files.Length == 0) { result = true; Directory.Delete(rootDirectory); } else { result = false; foreach (string directory in directories) { result = DeleteEmptyDirectories(directory); if (result) result = DeleteEmptyDirectories(directory); } if (files is null) { directories = Directory.GetDirectories(rootDirectory, "*", SearchOption.TopDirectoryOnly); result = directories.Length == 0; } } } return result; } }