Как сравнить класс и список по критериям?

280
20 февраля 2017, 11:57

Есть класс DB

 class DB
 {
   private List<string> newList;
   public string Naimenovanie { get; set; }
   public string Url { get; set; }
}

В дальнейшем я использую List<DB> listDB = new List<DB>(); чтобы в цикле вставлять экземпляры класса DB.

Есть также отдельно список List<string> urls = new List<string>();

1) Как удалить элементы listDB, которых нет в urls?
2) Как добавить элементы в listDB, которые есть в urls?
3) Если элементы есть и в listDB и в urls - то его не трогаем
Answer 1

Здравствуйте! В качестве решения первой задачи предлагаю:

var listToDelete = listDB.Where(list=>!urls.Contains(list.Url)).ToList();
listDB.RemoveRange(listToDelete);

Первым этапом выбираете элементы, которых нет в списке urls. Затем полученный список удаляете из основного.

Вторая задача (если я вас правильно поняла):

foreach(var url in urls){
listDB.Add(new DB(){
    Url = url
});
}

По идее, после этих операций список listDB будет содержать только те элементы, которые есть в urls

READ ALSO
Источник данных для Jquery UI autocomplete

Источник данных для Jquery UI autocomplete

Привет есть кодЯ пытаюсь задать источник для UI auticomplete

307
Подключение к MS SQL Server на Asp Net Core

Подключение к MS SQL Server на Asp Net Core

Как записывать и считывать данные из MS SQL Server в Asp Net Core? Пожалуйста, приведите примеры на чистом SQL и на Entity Framework (запустить найденные примеры...

422
Access vs. SQLite в linq2db в вопросах скорости

Access vs. SQLite в linq2db в вопросах скорости

Пользуюсь linq2db (https://githubcom/linq2db/linq2db) для запросов к БД из проекта на C#

373