2009-08-16 6 views
0

Quand j'ai frappé l'assertion j'ai été surpris parce que je m'attendais à ce que ma mise en œuvre soit correcte. Cela devrait marcher mais je n'ai pas écrit le code ci-dessous et commenter l'affirmer et le trouver. Pourquoi mon code fonctionne-t-il et ne trouve pas?TreeNodeCollection.Find ne semble pas fonctionner

  var z = n.Find(v[i], false); 
      //Debug.Assert(z.Count() == 1); 
      //n = z[0].Nodes; 
      if (z.Count() != 1)//count == 0 
      { 
       for (int ii = 0; ii < n.Count; ii++) 
       { 
        if (n[ii].Text == v[i]) 
        { 
         n = n[ii].Nodes; 
         break; 
        } 
       } 
      } 

Répondre

2

La méthode Find() prend une clé (et non une valeur).

TreeNode root = new TreeNode("root"); 

    TreeNode t1 = new TreeNode(); 
    t1.Nodes.Add("A","A1"); 
    t1.Nodes.Add("B","B2"); 
    t1.Nodes.Add("C","C3"); 
    root.Nodes.Add(t1); 
    TreeNodeCollection tc = root.Nodes; 
    var tt = tc.Find("A",true ); 
Questions connexes