firstList.RemoveAt(i);Добрые умные люди, подскажите, если кто знает - что надо дописать в этот код, что бы он еще и из первого списка удалял найденное совпадение.
Заранее спасибо
- var firstList = project.Lists["firstList"];
- var secondList = project.Lists["secondList"];
- lock(SyncObjects.ListSyncer)
- {
- for(int i=0; i < firstList.Count; i++)
- {
- var str1 = firstList;
- for(int j=secondList.Count-1; j >= 0; j--)
{
var str2 = secondList[j];
if (str1==str2)
{
secondList.RemoveAt(j);
}
}
}
}
СпасибоfirstList.RemoveAt(i);
или ниже, или выше этой строчки надо вставить
secondList.RemoveAt(j);
А мне вот именно этот вариант самый подходящий так раз! Надо просто сделать проверку, этот вариант самый простой, доступный и быстрый).Есть еще одно решение, сам недавно так делал. Не знаю насколько оно элегантное, скорее через костыли, но все же))
Берем строку из списка1
Добавляем в список2
Получаем кол-во строк
Удаляем дубли
Снова получаем кол-во строк
Если кол-во строк изменилось, значит удаляем строку из списка 1
Если нет, то нет.
Все просто, но муторно)
Просто получаете из второго списка строки и удаляете из первого строки ,содержащие переменную.Чтобы не плодить кучу тем, напишу тут
Поиск использовал , но ответа не нашел .
Вообщем мне нужно тоже самое что и автору топика , но не много другому
список1 со значениями 1 2 3 4 5
список2 со значениями 2 3
Как сделать чтобы в списке1 удалились те значения которые присутсвуют в списке2 и в итоге получилось >> список1 1 4 5
Заранее благодарен за ответы
Взял строку из списка два положил в переменную. Потом через действия над списком > удаление строки > в поле удалить элементы содержащие текст ввел название переменной . Удаляет , но только если в переменой одно значение. Как правильно сделать если у меня допустим 4 значения в переменой ? Пробывал с несколькими не получается ни как .Просто получаете из второго списка строки и удаляете из первого строки ,содержащие переменную.
Либо же можно объединить содержимое второго списка через | и удалить из первого всё, что соответствует регулярному выражению.
значение1|значение2|значение3Взял строку из списка два положил в переменную. Потом через действия над списком > удаление строки > в поле удалить элементы содержащие текст ввел название переменной . Удаляет , но только если в переменой одно значение. Как правильно сделать если у меня допустим 4 значения в переменой ? Пробывал с несколькими не получается ни как .
Только начал изучать зенку и для пока это все сложно
Как сделать чтобы в списке1 удалились те значения которые присутсвуют в списке2 и в итоге получилось >> список1 1 4 5
IZennoList list = project.Lists["List"];
IZennoList list2 = project.Lists["List2"];
List<string> tmpList = new List<string>();
tmpList = list.Except(list2).ToList();
list.Clear();
list.AddRange(tmpList);
Добрый день! А не подскажете как удалить из secondList "несуществующие значения" в firstListКод:var firstList = project.Lists["firstList"]; var secondList = project.Lists["secondList"]; lock(SyncObjects.ListSyncer) { for(int i=0; i < firstList.Count; i++) { var str1 = firstList[i]; for(int j=secondList.Count-1; j >= 0; j--) { var str2 = secondList[j]; if (str1==str2) { secondList.RemoveAt(j); } } } }