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

VB.NET Discussion :

linq to object, obtenir tous les elements finaux dans des sous collections


Sujet :

VB.NET

  1. #1
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut linq to object, obtenir tous les elements finaux dans des sous collections
    bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Class A
        property Bs as list(of B)
     
     
    Class B
        property Cs as list(of C)
     
     
    ' instance dans un sub 
    As as list(of A)
    je voudrais obtenir tous les C distinct à partir de As
    sans linq ca donnerait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    dim DistinctsCs as new list(of C)
    for each a as A in As
      for each b as B in a.Bs
        for each c as C in b.Cs
           if not DistinctsCs.Contains(c) then DistinctsCs.Add(c)
        next
      next
    next
    je ne vois pas comment écrire ca en linq car from a as A in As select a.Bs retourne un ienumerable(of list(of B))

    merci

  2. #2
    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 : 41
    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
    Bonjour,

    En partant tu principe que la classe C à un moyen de comparer ses instances, je tenterais quelque chose approchant ceci (au choix):
    Code VB.Net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim distinctCs As IEnumerable(Of C) = From a In [As]
                                          From b In a.Bs
                                          From c In b.Cs
                                          Distinct
                                          Select c
     
    Dim distinctCsBis As IEnumerable(Of C) = [As].SelectMany(Function(a) a.Bs).SelectMany(Function(b) b.Cs).Distinct
    Dim distinctCsTer As IEnumerable(Of C) = [As].SelectMany(Function(a) a.Bs.SelectMany(Function(b) b.Cs)).Distinct

    Cordialement !

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    je ne savais pas qu'on pouvait enchainer les from, c'est ca qu'il me manquait !

    merci bien

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

Discussions similaires

  1. Postfix: enregistrer tous les mails reçus dans des fichiers
    Par piemur2000 dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 28/11/2011, 16h17
  2. [JGraphT] Obtenir tous les chemin possibles
    Par pmartin8 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 02/06/2006, 19h26
  3. Obtenir tous les champs d'un formulaire
    Par killprog dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/03/2006, 13h15
  4. recuperer tous les elements d'une JList
    Par ejaub dans le forum Composants
    Réponses: 2
    Dernier message: 01/02/2006, 23h12
  5. [JDBC]Boucle sur tous les éléments du ResultSet
    Par Terminator dans le forum JDBC
    Réponses: 1
    Dernier message: 22/09/2005, 19h30

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