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 :

construction d'une liste de listes, etc.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Othana
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 188
    Par défaut construction d'une liste de listes, etc.
    Salut, les gens.

    j'arrive pas à pondre un algo de construction de liste, si quelqu'un peut m'aider.

    bon, j'énonce les faits :

    on prend une liste "cmdlist", celle qu'on va construire.
    pour la méthode, on récupère une liste "param" contenant un nombre variable d'éléments.
    pour chaque élément de param, je vais chercher une instruction qui lui correspond (accompagnée de ses arguments, donc surement dans une liste ou un dictionnaire, via la méthode d'une classe externe).
    enfin, j'ajoute l'instruction à cmdlist UNIQUEMENT si elle n'y est pas déjà présente.
    au final, c'est pour concaténer une string "commande" qui reprend l'instruction et ses arguments (si il y a plusieurs instructions différentes, on aura plusieurs chaines).
    voilà.
    si, au passage, vous avez plus simple, n'hésitez pas. Merci de l'aide éventuelle.

  2. #2
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut
    Bonjour,

    Tu veux ajouter toutes les commandes dans ta liste cmdlist de tous les paramètres de ta liste param mais sans doublon ?

    EDIT:
    Si j'ai bien compris :
    cmdlist
    |
    |-> param1
    | |
    | |--> commandF(param...)
    | |--> commandA(param...)
    |
    |
    |-> param2
    | |
    | |--> commandX(param...)
    |
    |
    |-> param3
    | |
    | |--> commandK(param...)
    | |--> commandP(param...)
    | |--> commandM(param...)
    ...
    C'est ça ??

    /EDIT:

    Et donc quel est le problème ?

  3. #3
    Membre très actif Avatar de Othana
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 188
    Par défaut
    plutôt :
    cmdlist
    |
    |-> commandX(param1)
    |
    |
    |-> commandY(param2)
    |
    |
    |-> commandZ(param3)

    et si un param4 ramène une commandY, pas besoin de l'ajouter à cmdlist.

    La méthode qui va construire la chaine string commandYtext, re-récupèrera param2, param4 et tout ce qui est encore nécessaire.

    Le problème est que j'arrive pas à pondre l'algo, le pseudo-code qui va bien ou trouver encore plus simple.

  4. #4
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut
    mmhh je vois mieux maintenant.

    Dans la logique,

    -> tu crées ta liste cmdlist,
    -> tu parcours tous param(là tu fais une boucle pour ça :for, while ou autre selon tes désirs et tes contraintes, moi j'opterais pour le for )
    -> sur chaque param, tu regardes ses commandes.
    -> tu parcours ta cmdlist à la recherche de la commande.
    -> Non elle n'existe pas : tu l'ajoutes à la fin de cmdlist avec le param qui va avec.
    -> Oui elle existe : tu ajoutes le nouveau param sur cette commande après le dernier.
    -> et ainsi de suite pour chaque commande

    Tu voyais ça comment toi ? Pour savoir si tu avais une ébauche de travail dedans ? on peut repartir de ce que tu pensais faire autrement.

    PS : tu peux poster ton code après (les parties concernées seulement) pour qu'on en discute si tu as un souci. En attendant, bonne chance

  5. #5
    Membre très actif Avatar de Othana
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 188
    Par défaut
    peut être ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    List <Dictionary> cmdlist;
    Dictionary<string,string> cmd;
     
    public void Createcmdlist (List <string> param)
    {
       foreach (argument in param)
       {
          cmd=Driver.RechInstruction(argument);
          if(!Exist(cmd))
             cmdlist.Add(cmd);
       }
    }
     
    public bool Exist(Dictionary <string,string> cmd)
    {
       bool exist=false;
       foreach (elem in cmdlist)
       {
          if (elem.instruction=cmd.instruction)
             exist=true;
       }
    }

  6. #6
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut
    OK

    A partir de là tu peux ajouter les commandes dans ta cmdlist si je comprend bien. Seulement, admettons que la commande existe déjà tu n'ajoutes pas le paramètre dans cmdlist.cmd(tes_paramètres) ?

    Il te reste ça à faire et c'est OK non ?

Discussions similaires

  1. [Débutant] Construction d'une liste ASP
    Par ProbeComprex dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/12/2011, 11h38
  2. Réponses: 1
    Dernier message: 04/06/2011, 08h10
  3. Regrouper une liste en liste de listes
    Par West01 dans le forum Prolog
    Réponses: 12
    Dernier message: 14/03/2008, 15h07
  4. Réponses: 6
    Dernier message: 24/01/2005, 12h06
  5. [VB6] largeur d'une zone de liste d'une combobox
    Par Nick13 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/08/2004, 13h30

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