当我点击断言时,我很惊讶,因为我希望我的实现是正确的。它应该工作,但没有,所以我写下面的代码并注释断言和发现。为什么我的代码有效并且找不到?
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;
}
}
}
答案 0 :(得分:2)
Find()方法接受一个键(不是值)。
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 );