Перебор и сравнение строк - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Уже долгое время не могу реализовать механизм, который берет строку (первую например) с текстового документа и строку с массива, куда закатываются строки-пути к файлам и папкам в определеннной директории и сравнивает это следующим образом: 0-0, 0-1, 0-2, 0-3 и так далее. То есть у нас есть цикл 1, который отвечает за перебор строк в текстовике и цикл 2 (который в цикле 1) который перебирает на каждую строчку в текстовике все строки из массива с целью обнаружения сходства строк. Задача найти сходство и в случае не нахождения выполнить действие (удалить текущую директорию)
            string[] intex = File.ReadAllLines(configFile); //Тянет ссылки из конфиг файла в массив
            string[] localFolders = Directory.GetFiles(mainFolder, "*.*", SearchOption.AllDirectories); //Тянет пути папок в массив
            try
            {
                for (int i = 0; i < 100; i++) //1 цикл
                {
                    string b2 = intex[i].Replace(@"C:\PMTEST", @"C:\crossloader"); //Заменяет часть строки.
                    string b4 = b2.Substring(0, intex[i].LastIndexOf('\\')); //Удаляет имя и расширение файла на конце пути (чтобы получить путь к папке)
 
                    for (int i2 = 0; i2 < 100; i2++) //2 цикл
                    {                  
                    string b3 = localFolders[i2].Substring(0, localFolders[i2].LastIndexOf('\\'));
 
                        if (b4 != b3) //Если строка из текстовика не равна строке из массива с путями.
                        {
                            Directory.Delete(b3, true); //Удалить папку
                            goto Finish; //Прерываем цикл 2, выходим на цикл 1
                        }
                    }
                    Finish:;
                }
            }
            catch
            {
            }
Вот как то так. Проблема то тут то там. То один цикл не считает то другой то индексы не совпадают то просто ничего не работает. Я только учусь и потратил на эту проблему уже несколько дней, помогите решить вопрос, пожалуйста.

Решение задачи: «Перебор и сравнение строк»

textual
Листинг программы
 string[] intex = File.ReadAllLines(configFile); //Тянет ссылки из конфиг файла в массив
            string[] localFolders = Directory.GetFiles(mainFolder, "*.*", SearchOption.AllDirectories); //Тянет пути папок в массив
            string bb4 = "";
            try
            {
 
                for (int i = 0; i < localFolders.Length; i++)
                {
                    string b3 = localFolders[i].Substring(0, localFolders[i].LastIndexOf('\\'));
                    for (int i2 = 0; i2 < intex.Length; i2++)
                    {
                        string b2 = intex[i2].Replace(@"C:\PMTEST", @"C:\crossloader");
                        string b4 = b2.Substring(0, intex[i2].LastIndexOf('\\'));
 
                        if (b4 == b3)
                        {
                            goto Interpo;
                        }
                        bb4 = b4;
                    }
                    Directory.Delete(b3, true);
                    Interpo:;
                }
            }
            catch
            {
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5