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

C# Discussion :

Filtrer une liste d'objet en fonction d'une autre liste [Débutant]


Sujet :

C#

  1. #1
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut Filtrer une liste d'objet en fonction d'une autre liste
    bonjour,

    je souhaite en utilisant linq filtrer une liste d'objet par une autre liste d'objet.
    les deux listes de valeurs sont constituées du même objet.

    Merci de votre aide.

  2. #2
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    je pense avoir trouvé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    List<Employee> groupA = getEmployeeA();
    List<Employee> groupB = getEmployeeB();        
     
    var filteredEmployees = from a in groupA 
                            join b in groupB on a.Name equals b.Name
                            select a;
    reste que ne voit pas comment caster le résultat en liste

  3. #3
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    finalement j'ai fait mieux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //Filtrer les cours choisi de la liste de cours propose
    var cleCoursChoisis = new HashSet<int>(listCoursChoisis.Select(x => x.clefCours));
     
    var filteredListCoursLot = listCoursLot.Where(cours => !cleCoursChoisis.Contains(cours.clefCours));
     
    listCoursLot = filteredListCoursLot.ToList();
    si cela peut servir à quelqu'un d'autre.

  4. #4
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Tu devrais regarder du côté des opérations ensemblistes de Linq (Intersect, Union etc.) parce que ça ressemble pas mal à ce que tu cherches à faire (et ça sera un peu plus simple que ton code actuel)

    Cordialement !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/02/2009, 18h44
  2. <DEBUTANT> Remplir une zone de texte en fonction d'une liste
    Par Superbretzel dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 26/05/2008, 20h40
  3. Réponses: 4
    Dernier message: 08/03/2008, 10h10
  4. Réponses: 4
    Dernier message: 06/08/2007, 17h50
  5. Réponses: 11
    Dernier message: 29/05/2007, 08h05

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