我需要做一个foreach来找到我所有的下属,包括找到我下属的所有下属等等......
我试图完成但我无法通过寻找第二级下属...
谢谢!
答案 0 :(得分:3)
private IEnumerable<Employee> RecursiveGet(Employee durr)
{
foreach(var sub in durr.Subordinates)
{
yield return sub;
foreach(var recurse in RecursiveGet(sub))
yield return recurse;
}
}
答案 1 :(得分:1)
您是否尝试使用recursion?
答案 2 :(得分:0)
如下所示?
object RecursiveCall(Collection collection, object itemToFind)
{
foreach(var item in collection)
{
if(item == itemToFind)
{
return item;
}
else
{
RecursiveCall(item, itemToFind);
}
}
}
答案 3 :(得分:0)
为此实现递归技术。
答案 4 :(得分:0)
PSUDO:
private List<Subordinate> GetSubordinates(Subordinate you){
List<Subordinate> subs = new List<Subordinate>();
if(!you.HasSubordinates){
return subs;
}
foreach(Subordinate s in you.Subordinates){
subs.AddRange(GetSubordinates(s));
}
}