2010-10-07 13 views
2

LINQ to objects a les méthodes incroyablement utiles Union, Intersect et Except. Malheureusement, il y a un client pour lequel je travaille et ils exigent .NET 2.0, donc LINQ n'est pas une option. J'ai regardé à travers le code réfléchi et ça ne s'est pas bien inversé du tout.Les implémentations non-LINQ de Union, Intersect et Except

Existe-t-il une bibliothèque .NET 2.0 ou une implémentation facile de Union, Intersect et Except?

+2

@wawa: Si par "le linq dll" vous voulez dire System.Core, je déconseillerais * fortement * d'essayer d'utiliser un assemblage .NET 3.5 boulonné à un assembly .NET 2 normal. Cela peut fonctionner correctement, mais je suis sûr à 99,9% que ce n'est pas un scénario supporté. Utiliser une bibliothèque séparée (par exemple LINQBridge) est un bien meilleur pari. –

Répondre

7

Une raison de ne pas utiliser LINQBridge? Obtenez votre qualité LINQ to Objects tout en ciblant encore .NET 2.0 :)

+0

+1 - J'allais simplement suggérer que ...;) – Lucero

+0

Cela semble toujours être des méthodes d'extension. Aurai-je besoin d'écrire une autre couche pour les transformer en non-extensions ou est-ce déjà intégré aussi? – Dinah

+5

Vous pouvez utiliser VS2008 et le compilateur C# 3, qui gère très bien toutes les méthodes d'extension, tout en ciblant l'exécution 2.0. Mais même si vous n'avez pas besoin d'écrire réellement un autre calque, ce sont juste des méthodes statiques simples décorées avec un attribut pour faire fonctionner la magie du compilateur. – Lucero