Самый быстрый способ сравнить два общих списка на наличие различийC#

Место общения программистов C#
Anonymous
Самый быстрый способ сравнить два общих списка на наличие различий

Сообщение Anonymous »

Как быстрее всего (и наименее ресурсоемко) сравнить два огромных списка (>50 000 элементов) и в результате получить два списка, подобных приведенным ниже:

[*]элементы, которые отображаются в первом списке, но не отображаются во втором
[*]элементы, которые отображаются во втором списке, но не отображаются в первом

В настоящее время я работаю со списком или IReadOnlyCollection и решаю эту проблему с помощью запроса linq:

Код: Выделить всё

var list1 = list.Where(i => !list2.Contains(i)).ToList();
var list2 = list2.Where(i => !list.Contains(i)).ToList();
Но это работает не так хорошо, как хотелось бы.
Есть идеи, как сделать это быстрее и с меньшими затратами ресурсов, поскольку мне нужно обрабатывать много списков?
п>

Подробнее здесь: https://stackoverflow.com/questions/127 ... ifferences

Вернуться в «C#»