c#中指定的参数已超出有效值的范围
展开全部
e.Node.Nodes 是一个集合, 相当于List 。
List[i]就是取这个集合中的第i个元素(从0开始索引)。
当这个集合有10个元素时,你List[10]就会报错了,因为这个集合最大索引是9。
而且你的这个迭代我也没看明白,
for(int i =0; e.Node.Nodes.Count>0;i++) {}
这条件里,e.Node.Nodes.Count是不变的, 也就是说这个循环如果进来了,肯定就是个死循环了, i会不停的往上加。
一般写法都是
for(int i = 0 , i < e.Node.Nodes.Count;i++) {} , 用变量来判断,以便循环在合适的时间可以跳出.
List[i]就是取这个集合中的第i个元素(从0开始索引)。
当这个集合有10个元素时,你List[10]就会报错了,因为这个集合最大索引是9。
而且你的这个迭代我也没看明白,
for(int i =0; e.Node.Nodes.Count>0;i++) {}
这条件里,e.Node.Nodes.Count是不变的, 也就是说这个循环如果进来了,肯定就是个死循环了, i会不停的往上加。
一般写法都是
for(int i = 0 , i < e.Node.Nodes.Count;i++) {} , 用变量来判断,以便循环在合适的时间可以跳出.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询