325 votes

Le contraire de Intersect()

Se croisent peut être utilisé pour trouver des correspondances entre deux collections, comme suit :

Toutefois, ce que je voudrais atteindre est le contraire, je tiens à lister les éléments qui manquent quand on compare deux collections :

439voto

Øyvind Bråthen Points 25211

Comme il est indiqué, si vous voulez obtenir 4 à la suite, vous pouvez faire comme ceci :

Si vous voulez l’intersection non réelle (également 1 et 4), alors cela devrait faire l’affaire :

Ce ne sera pas la solution la plus performante, mais pour les petites listes, il devrait fonctionner parfaitement.

96voto

sehe Points 123151

Vous pouvez utiliser

Ou vous pouvez utiliser

13voto

CodesInChaos Points 60274

Copiez le code suivant énumère chaque séquence qu’une seule fois et utilise pour cacher le résultat pour obtenir une méthode d’extension Linq-style propre. Car il utilise sa duree est `` si les hachages sont bien réparties. Les éléments dupliqués dans aucune des listes sont omis.

6voto

Grant Thomas Points 28280

Je pense que vous pourriez être à la recherche d' Except:

L'opérateur except produit un ensemble la différence entre deux séquences. Il vous obtiendrez uniquement les éléments dans la première séquence qui n'apparaissent pas dans le de seconde en seconde. Vous pouvez éventuellement fournir votre propre comparaison d'égalité de la fonction.

Découvrez ce lien, ce lien, ou Google, pour plus d'informations.

2voto

Frank Schmitt Points 13554

Je ne suis pas 100 % sûr que votre méthode de NonIntersect est censé pour faire (en matière de théorie des ensembles) - est-ce
B \ un (tout de B qui n’intervient pas dans A) ?
Si oui, alors vous devriez être en mesure d’utiliser l’opération Except (B.Except(A)).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X