Есть 2 списка урлов. Задача простая - взять 1 урл из списка 1, пробежаться по списку 2 и удалить в нем строки = урл 1, потом взять 2 урл из списка 1 и т.д.
Вчера день потратил.
1. Если делать через операции над списками, взять 1 строку с удалением, положить в переменную, отправить на удаление всех строк в списке 2 по значению переменной, зациклить на 1 действие и так, пока список 1 не опустеет. - сейчас работает так, думал как ускорить.
2. Реализовал взять 1 строку с удалением, положить в переменную, но дальше отправить на удаление всех строк в списке 2 по значению реализовал на С#
- итог работает значительно медленее.
3. Целый день убил на реализацию обоих операций в С#. Нашел вот такой код. И даже он работал, НО обрезал он строки во 2 списке не по значению, а все строки до значения. Или я так понял оператор Contains режет не по точному соответствию, а по совпадению, т.е. "page1/lsadkfj" будет отрезан если сравниваться будет по "page1/ls", а это не нужно.
Други, кто шарит, подможите с С#
Вчера день потратил.
1. Если делать через операции над списками, взять 1 строку с удалением, положить в переменную, отправить на удаление всех строк в списке 2 по значению переменной, зациклить на 1 действие и так, пока список 1 не опустеет. - сейчас работает так, думал как ускорить.
2. Реализовал взять 1 строку с удалением, положить в переменную, но дальше отправить на удаление всех строк в списке 2 по значению реализовал на С#
- итог работает значительно медленее.
3. Целый день убил на реализацию обоих операций в С#. Нашел вот такой код. И даже он работал, НО обрезал он строки во 2 списке не по значению, а все строки до значения. Или я так понял оператор Contains режет не по точному соответствию, а по совпадению, т.е. "page1/lsadkfj" будет отрезан если сравниваться будет по "page1/ls", а это не нужно.
Други, кто шарит, подможите с С#
C#:
var list = project.Lists["List"];
string text = "Текст"; // тут пробовал вставить не переменную, а список 2 и дальше в цикле пытался обрезать по совпадению, но не получилось
lock (SyncObjects.ListSyncer)
{
for (int i = 0; i < list.Count; i++)
{
string str = list[i];
if (str.Contains(text))
{
list.RemoveAt(i);
i--;
}
}
}