Bonjourm
Comment puis je recuperer les differences entre 2 list d object ? sans passer par un delegate avec findall ?
Merci
Bonjourm
Comment puis je recuperer les differences entre 2 list d object ? sans passer par un delegate avec findall ?
Merci
Quel framework .NET utilises-tu ? 2.0, 3.5, 4.0 ?
le 3.5;
J'essaye avec linq mais je ne connais pas du tout. donc pas a l'aise et du mal a comprendre le fonctionnement;
Ceci me retourne une list de list ??? donc je ne peux pas le binder a mon repeater.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var identicalQuery = from before in _clientBefore join after in _clientAfter on before.ClientID equals after.ClientID where before.field1 != after.field1 || before.field2 != after.field2 || before.field3 != after.field3 select _clientAfter;
Je suis ouvert a toutes propositions
Si tu es en 3.5, regarde du côté des méthodes d'extension Intersect, Union, Except, etc. de tes objets listes génériques.
Que veux-tu récupérer exactement ?
je veux recuperer les objet difference entre les 2 list d objets
Il est possible d'utiliser une jointure externe normalement en Linq pour obtenir le résultat que tu souhaites. Mais comme l'a fait remarqué calagan99, ce sera plus facile avec les méthodes d'extensions qu'il a cité.
Par contre, si dans tes objets, tu en as deux de référence différente mais qui sont censé représenter les mêmes données, il faudra utiliser un IEqualityComparer<T>.
Exemple de deux objets qui n'ont pas la même référence :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Client cli1 = new Client() { ID = 1, Nom = "Thomas" }; Client cli2 = new Client() { ID = 1, Nom = "Thomas" }; public class Client { private int _ID; private string _Nom; public int ID { get { return _ID; } set { _ID = value; } } public string Nom { get { return _Nom; } set { _Nom = value; } } }
Merci a vous.
Linq a l air d offrir pas mal de choses dans la manipulation des donnees.
Je vais me pencher un peu plus la dessus.
Partager