У меня очень длинный список идентификаторов (целых), которые представляют все элементы, которые в настоящее время находятся в моей базе данных:
var idList = GetAllIds();
У меня также есть еще один огромный общий список с элементами для добавления в базу данных:
List<T> itemsToAdd;
Теперь я хотел бы удалить все элементы из общего списка, Id которого уже находится в idList. В настоящее время idList - это простой массив, и я вычитаю списки следующим образом:
itemsToAdd.RemoveAll(e => idList.Contains(e.Id));
Я уверен, что это может быть намного быстрее, поэтому какие типы данных следует использовать для обеих коллекций и что наиболее эффективная практика заключается в их вычитании?
Спасибо!