Structure hiérarchique de chaînes [Résolu]

Signaler
Messages postés
16
Date d'inscription
dimanche 22 novembre 2009
Statut
Membre
Dernière intervention
14 juillet 2010
-
cs_GG29
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
-
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

Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
10
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.
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
10
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.
Messages postés
16
Date d'inscription
dimanche 22 novembre 2009
Statut
Membre
Dernière intervention
14 juillet 2010

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 !
Messages postés
16
Date d'inscription
dimanche 22 novembre 2009
Statut
Membre
Dernière intervention
14 juillet 2010

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 !
Messages postés
16
Date d'inscription
dimanche 22 novembre 2009
Statut
Membre
Dernière intervention
14 juillet 2010

Merci encore

Jacky


______________________________________________________________________________
Ma devise : On ne peut prolonger notre chemin de vie, mais on peut l'élargir !
Visitez mon site Internet
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
10
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.
Messages postés
16
Date d'inscription
dimanche 22 novembre 2009
Statut
Membre
Dernière intervention
14 juillet 2010

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
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
10
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.