나는 같은 종류의 내가 재귀 검색 LINQ (아마도) 가장 빠른 시작 날짜가 작업을 찾을를 수행하는 방법을재귀 적 검색을 수행하는 방법은 무엇입니까?
public class Task
{
public DateTime Start { get; set;}
public DateTime Finish { get; set;}
public List<Task> Tasks {get; set;}
public DateTime FindTaskStartDate(Task task)
{}
}
의 하위 작업을 할 수있는 작업 클래스가?
초기 접근법은 너무 많은 루프를 필요로하고 결국 약간의 엉망이되어 제어 불능 상태가되었습니다. 두 번째 시도는 다음과 같습니다.
public DateTime FindTaskStartDate(Task task)
{
DateTime startDate = task.Start;
if(task.HasSubTasks())
{
foreach (var t in task.Tasks)
{
if (t.Start < startDate)
{
startDate = t.Start;
if (t.HasSubTasks())
{
//What next?
//FindTaskStartDate(t);
}
}
}
}
return startDate;
}
더 좋은 솔루션으로이 문제를 해결할 수 있습니까?
감사
재귀 적 검색을 수행하는 가장 좋은 방법은 재귀 적 검색입니다. –