За пределами использования оператора переключения, который может быть быстрее, ни один. Если Еще ясно и легок читать. необходимость искать вещи в карте запутывает вещи. Почему делают код тяжелее для чтения?
Для папки:
FileSystemAccessRule rule = new FileSystemAccessRule(LOGON_USER_NAME,
FileSystemRights.FullControl, AccessControlType.Allow);
Для подпапок и файлов:
FileSystemAccessRule rule = new FileSystemAccessRule(LOGON_USER_NAME,
FileSystemRights.FullControl, InheritanceFlags.ContainerInherit |
InheritanceFlags.ObjectInherit, PropagationFlags.InheritOnly,
AccessControlType.Allow);
обе строки должны быть в вашем проекте. тогда вы получите ACL, относящиеся к этой папке, подпапкам и файлам