Мне нужно сделать foreach, чтобы найти всех моих подчиненных, и это включает в себя поиск всех подчиненных моих подчиненных и так далее ...
Я пытался выполнить, но я не мог пройти, чтобы найти 2-й уровень подчиненных ...
Спасибо !!
private IEnumerable<Employee> RecursiveGet(Employee durr) { foreach(var sub in durr.Subordinates) { yield return sub; foreach(var recurse in RecursiveGet(sub)) yield return recurse; } }
Вы пытались использовать рекурсию ?
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)); } }
Перейти на реализацию рекурсивной техники для этого.
Что-то вроде следующего?
object RecursiveCall(Collection collection, object itemToFind) { foreach(var item in collection) { if(item == itemToFind) { return item; } else { RecursiveCall(item, itemToFind); } } }