Le moyen le plus rapide pour comparer deux Liste<>

Ce qui est le plus rapide (et moins gourmande en ressources) pour comparer les deux massifs (>50.000 points) et, en conséquence, avoir deux listes comme celles ci-dessous:

  1. les éléments qui apparaissent dans la première liste, mais pas dans le deuxième
  2. les éléments qui apparaissent dans la deuxième liste, mais pas dans la première

Actuellement je travaille avec la Liste ou IReadOnlyCollection et de résoudre ce problème dans une requête linq:

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

Mais ce n'est pas aussi bon que je le voudrais.
Toute idée de faire de ce plus rapide et moins gourmande en ressources que j'ai besoin de traiter un beaucoup de listes?

InformationsquelleAutor Frank | 2012-10-09