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

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

items that show up in the first list but not in the second items that show up in the second list but not in the first

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

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

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

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

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