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 :

Question algorithme et c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Par défaut Question algorithme et c#
    Bonjour , j'ai un petit probléme d'algo , alors en fait je voudrais fusionner une liste de type generic List<monobjet> (avec monobjet ayant pour propriété, statepage et stategroup) en une hashtable qui ressemblerait à clé = stategroup, valeur=List<statepage> (liste des pages correspondant au groupe).

    ce que j'aimerais faire, c'est de construire ma hashtable à partir de la liste d'objets, qui est formatée de cette maniére :

    Exemple :

    class monobjet
    {
    string stategroup;
    string statepage;
    }

    List<monobjet>
    0: stategroup = "groupe1" , statepage="page1"
    1: stategroup = "groupe1" , statepage="page2"
    2: stategroup = "groupe1" , statepage="page3"
    3: stategroup = "groupe2" , statepage="pagex"
    4: stategroup = "groupe2" , statepage="pagey"
    5: stategroup = "groupe3" , statepage="page12"
    6: stategroup = "groupe4" , statepage="pagexxx"

    en fait je voudrais regrouper toutes les pages de chaque groupe de ma liste dans une hashtable qui ressemblerais à clé=>"groupe1", valeur=>liste_des_pages_correspondant_au_groupe1

    j'ai un bout de code en dessous, mais mon algo est foireux, j'aimerais un peu d'aide svp

    si c'est pas assez clair, dites le moi je peux vous expliquer plus clairement peut être

    Merci d'avance



    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
     
    List<String> listgroups = new List<string>();
    List<String> listpages = new List<string>();
    Hashtable listegr = new Hashtable();
    string oldstategroup = string.Empty;
     
    foreach (Habilitations h in _ListHabilitations)
                    {                    
                        if (!h.statepage.Contains("Detail")) // On exclu de la liste les formulaires de détail
                        {
                            // On exclu de la liste les pages d'états du groupe NavigationGlobale et AdminConsole
                            if (h.stategroup != "NavigationGlobale" && h.stategroup != oldstategroup && h.stategroup != "AdminConsole")
                            {                            
                                listgroups.Add(h.stategroup);
                                listpages.Add(h.statepage);       
                                //listegr.Add(h.stategroup, listpages);
                            }                                                                      
                        }
                        oldstategroup = h.stategroup;
                    }

  2. #2
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    il te faut, comme lement de destination un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IDictionnary<stategroup, IList<statepage>>
    tu regroupe les groupe comme clé unique et tu balance la liste des page associées au groupe.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Par défaut
    Merci je vais essayer!

    A mon avis, c'est plus dans la logique de la boucle que ça merde, en fait l'algo est pas bon, il faudrait que temps que je suis sur le même groupe, j'ajoute un seul groupe, et j'ajoute les pages du groupe.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    foreach(Habilitation h in _ListeHabilitations)
    {
        if(h.stategroup == valeurancientourdeboucle)
       { 
           // je suis toujours sur le même groupe, et j'ajoute mes pages à la liste
       }
     
       valeurancientourdeboucle = h.stategroup;
      //définir l'ancien groupe du tour de boucle précédent pour tester si il est égal au nouveau
     
     
    }

  4. #4
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    oui tout a fait : c est pourquoi je t ai proposer un type de stockage tout a fait aproprié à l'algo correct.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Par défaut
    j'ai trouvé la soluce, merci encore

  6. #6
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Citation Envoyé par rayon Voir le message
    j'ai trouvé la soluce, merci encore
    Si c'est la soluce de Zaan, mentionne ou si c'est une autre, partage avec nous et surtout n'oublie pas le

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

Discussions similaires

  1. Questions algorithme chiffrement AES
    Par Happpy dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 02/02/2014, 18h05
  2. Question : Algorithme de préparation de commande
    Par Totik dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 10/06/2012, 06h53
  3. [buffer] Question sur l'algorithme breada
    Par lichman dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 14/10/2010, 22h13
  4. Questions à propos des algorithmes de tri.
    Par jbaudens dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 26/10/2007, 15h49

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