IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Recuperer les difference entre 2 list object


Sujet :

ASP.NET

  1. #1
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut Recuperer les difference entre 2 list object
    Bonjourm

    Comment puis je recuperer les differences entre 2 list d object ? sans passer par un delegate avec findall ?

    Merci

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    Quel framework .NET utilises-tu ? 2.0, 3.5, 4.0 ?

  3. #3
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    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;

    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;
    Ceci me retourne une list de list ??? donc je ne peux pas le binder a mon repeater.

    Je suis ouvert a toutes propositions

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    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 ?

  5. #5
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    je veux recuperer les objet difference entre les 2 list d objets

  6. #6
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    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; } }
    }

  7. #7
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requete recuperant les dates entre x et y
    Par Nasky dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/03/2009, 15h14
  2. Recouper les données entre deux listes
    Par greg4646 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 15/08/2007, 10h27
  3. [SQL] recupere les valeurs d'un liste puis faire une requete SQL
    Par 18Marie dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/06/2006, 12h50
  4. Différence entre deux listes
    Par Celelibi dans le forum Linux
    Réponses: 4
    Dernier message: 26/04/2006, 09h46
  5. Les différences entre association et dépendance ?
    Par sephile dans le forum Diagrammes de Classes
    Réponses: 3
    Dernier message: 12/01/2005, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo