Проверка условия соответствия одному из элементов массива - 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();
}