2010-07-22 8 views
0

Y a-t-il une collection intégrée de type nœud qui me permettra de stocker des informations dans les informations sans construire de longues déclarations génériques difficiles à lire?Collections .Net: Node-Leaf

Des solutions C# ou VB.Net seraient appréciées.

Par exemple:

dim base as new Dictionary(of String, Dictionary(of String, List(of String))) 
dim mid as new Dictionary(of String, List(of String) 
dim leaf as new List(of String) 
leaf.add("leaf1") 
leaf.add("leaf2") 
mid.add("middle", leaf) 
base.add("base", mid) 

Représentation logique:.

   /leaf 
     mid - leaf 
    /  \ leaf 
base 
    \  /leaf 
     mid - leaf 
       \ leaf 

Répondre

1

Rien construit Jetez un oeil à this.

0

Il n'y a rien d'intégré, vous êtes probablement mieux de construire votre propre classe pour chaque nœud d'arbre.

public class Node { 
    private List<Node> children = new List<Node>(); 

    public void Node(Node parent,Object node_data) { 
    ... 
    } 

    // put some methods for adding, removing, retrieving children here 
} 

Et une seule classe générique privée!