Или использовать Ваше число подрывной деятельности запятой номера версии 'мысли'.. z. B.:
1.0.101//пересмотр 101, выпуск
или 1.0.101-090303//с датой выпуска, я использую это
LINQ может помочь:
itemsToAdd.Except(idList)
Ваш код медленный, потому что List<T>.Contains
- O(n)
. Таким образом, ваша общая стоимость составляет O(itemsToAdd.Count*idList.Count)
.
Вы можете превратить idList в HashSet<T>
с O(1)
.Contains
. Или просто используйте метод расширения Linq .Except
, который сделает это за вас.
Обратите внимание, что .Except
также удалит все дубликаты с левой стороны. то есть новый int[]{1,1,2}.Except(new int[]{2})
приведет только к {1}
, а второй 1 был удален. Но я предполагаю, что в вашем случае это не проблема, потому что идентификаторы обычно уникальны.
Вы должны использовать два HashSet<int>
с.
Обратите внимание, что они уникальны и неупорядочены.