Самый быстрый способ сравнить два списка <>

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

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

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

var list1 = list.Where(i => !list2.Contains(i)).ToList();
var list2 = list2.Where(i => !list.Contains(i)).ToList();

Но это нене так хорошо, как хотелось бы. Любая идея сделать это быстрее и менее ресурсоемким, так как мне нужно обрабатывать много списков?

Ответы на вопрос(11)

Ваш ответ на вопрос