Structure hiérarchique de chaînes

Résolu
JABch Messages postés 16 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 14 juillet 2010 - 1 mai 2010 à 06:28
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 - 1 mai 2010 à 11:54
Bonjour,

Je cherche une classe équivalente au TStringList de Delphi qui permette de stocker non seulement des string mais avec chacun d'entre eux un "pointeur" vers un autre TStringList (un peu à la manière du contrôle de liste arborescente de Windows). Ce n'est pas pour afficher, mais pour stocker en mémoire.

Dit autrement :

Comment stocker en mémoire une liste hiérarchique de chaînes du genre d'un dossier windows (avec des fichiers et des sous-dossiers contenant à leur tour fichiers et sous-dossier ?

A+
Jacky


_______________________________________________________________________________
Ma devise : On ne peut prolonger notre chemin de vie, mais on peut l'élargir !

8 réponses

cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
1 mai 2010 à 10:07
Ce que tu veux c'est un arbre (Tree in English). Une petite recherche sur ton moteur de recherche favori et tu trouvera pas mal d'implémentations différentes.

Voici une version très simpliste
public class Tree<T>
{
    public Tree()
    {
        Children = new List<Tree<T>>();
    }

    public T Value {get; set; }
    public List<Tree<T>> Children {get ; private set; }
}


---
Généralement le bug se situe entre le clavier et la chaise.
Le temps est une "chose" introuvable dont l'existence ne fait aucun doute.
3
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
1 mai 2010 à 10:38
En effet il n'existe aucune classe en dotnet.

En voici un, un peu mieux que le mien.
http://dvanderboom.wordpress.com/2008/03/15/treet-implementing-a-non-binary-tree-in-c/

Autrement sur CodePlex tu peux chercher Tree ou Data structure.

---
Généralement le bug se situe entre le clavier et la chaise.
Le temps est une "chose" introuvable dont l'existence ne fait aucun doute.
3
JABch Messages postés 16 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 14 juillet 2010
1 mai 2010 à 08:12
Re,

Je viens de trouver la classe System.Windows.Forms.TreeNode qui bien qu'étant à la base un "control" visuel peut très bien faire l'affaire (rien n'oblige de l'affecter à un TreeView).

J'ai donc trouvé le moyen de parvenir à mes fins, mais c'est peut-être un peu "lourd" comme solution.
Quelqu'un aurait-il un solution plus légère ?

A+
Jacky

_______________________________________________________________________________
Ma devise : On ne peut prolonger notre chemin de vie, mais on peut l'élargir !
0
JABch Messages postés 16 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 14 juillet 2010
1 mai 2010 à 10:32
Oui merci gg29,

J'ai évidemment fait une recherche avec "tree", "arbre" et "arborescence" y compris sur le présent forum.
Malheureusement je n'y trouve que des messages anciens (.net v2 au mieux) avec des exemples de code trop complexes pour le simple usage que j'ai à en faire.
Je ne parvenais pas à croire que System.Collections ne comprenne pas une telle classe. D'où ma question.

Je vais peut-être en créer une sur la base de ce que tu m'indiques ci-dessus.

A+
Jacky

______________________________________________________________________________
Ma devise : On ne peut prolonger notre chemin de vie, mais on peut l'élargir !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JABch Messages postés 16 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 14 juillet 2010
1 mai 2010 à 10:53
Merci encore

Jacky


______________________________________________________________________________
Ma devise : On ne peut prolonger notre chemin de vie, mais on peut l'élargir !
Visitez mon site Internet
0
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
1 mai 2010 à 11:44
http://ngenerics.codeplex.com/


---
Généralement le bug se situe entre le clavier et la chaise.
Le temps est une "chose" introuvable dont l'existence ne fait aucun doute.
0
JABch Messages postés 16 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 14 juillet 2010
1 mai 2010 à 11:51
Ok, merci.
Pour ton info, ils ont démnagé
ici.

A+
Jacky


______________________________________________________________________________
Ma devise : On ne peut prolonger notre chemin de vie, mais on peut l'élargir !
Visitez mon site Internet
0
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
1 mai 2010 à 11:54
Faut que je pense à vérifier mes favoris de temps en temps.
merci.

---
Généralement le bug se situe entre le clavier et la chaise.
Le temps est une "chose" introuvable dont l'existence ne fait aucun doute.
0
Rejoignez-nous