public void GroupGetChildrenTreeList()
{
GroupObject go = new GroupObject();
Group group = (Group)go.GetById("001G00000152");
IList lst = go.GetChildrenTreeList(group);
}public IList GetChildrenTreeList(Group group)
{
ArrayList childrenTreeList = new ArrayList(); //(1)
foreach(Group childGroup in group.SubGroups) //(2)
{
childrenTreeList.AddRange(GetChildrenTreeList(childGroup)); //(3)
}
childrenTreeList.Add(group); //(4)
return childrenTreeList; //(5)
}GetChildrenTreeList这个函数内部执行怎么是:(1)---(2)---(3)---(4)---(5)---(3)---(2)--(4)---(5)
---(3)---(2)--(4)---(5)---(3)---(2)--(4)---(5)很奇怪,执行return没跳出??!!!
childrenTreeList.AddRange(GetChildrenTreeList(childGroup)); //(3)GetChildrenTreeList