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; }
Partager