Проверка условия соответствия одному из элементов массива - C#
Формулировка задачи:
Здравствуйте.
Пишу программу для сортировка файлов по определенным папкам и столкнулся с проблемой при проверке соответствия условия элементу массива.
Вот пример кода с одним из условий.
Проблема возникает в этой части:
К примеру если попадается файл с расширением .txt то при проверке расширения на соответствие элементам из массива DocumentTypes, оператор проверив на соответствие с первым элементом который как видно не равен расширению, сразу переходит дальше и удаляет файл если в папке, в которую надо переместить есть файл с таким именем.
Как сказать оператору что переходить дальше можно только после проверки соответствие всем элементам массива?
Или подскажите как лучше реализовать проверку файла на существование в конечной папке?
public static string[] folders = { "Images", "Music", "Video", "Documents", "Archives", "Executable", "Download" }; public static string[] ImageTypes = { ".png", ".jpeg", ".bmp", ".gif", ".jpg" }; public static string[] MusicTypes = { ".mp3", ".wav", ".m4a", ".flac", ".pls", ".m3u" }; public static string[] VideoTypes = { ".mp4", ".avi", ".flv", ".wmv" }; public static string[] DocumentTypes = { ".docx", ".doc", ".pptx", ".ppt", ".xlsx", ".xls", ".vsdx", ".vsd", ".txt", ".pdf", }; public static string[] ArchiveTypes = { ".zip", ".rar" }; public static string[] ExecutableTypes = { ".exe", ".msi", ".bat", ".com" }; public static string currentFolderName = @"C:\test"; static void Main(string[] args) { DirectoryInfo drInfo = new DirectoryInfo(currentFolderName); foreach (var f in folders) { if (drInfo.Exists) { drInfo.CreateSubdirectory(f); } } foreach (string entry in Directory.GetFiles(currentFolderName)) { FileMove(new FileInfo(entry)); } } public static void FileMove(FileSystemInfo fsi) { FileInfo info = new FileInfo(fsi.FullName); foreach (var type in DocumentTypes) { if (info.Extension == type) { info.MoveTo(currentFolderName + @"Documents" +info.Name); } else { if (info.Exists) { info.Delete(); } } } }
foreach (var type in DocumentTypes) { if (info.Extension == type) { info.MoveTo(currentFolderName + @"Documents" +info.Name); } else { if (info.Exists) { info.Delete(); } }
Решение задачи: «Проверка условия соответствия одному из элементов массива»
textual
Листинг программы
if (info.Exists) { info.Delete(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д