我可以有相同的类型如何执行递归搜索?
public class Task
{
public DateTime Start { get; set;}
public DateTime Finish { get; set;}
public List<Task> Tasks {get; set;}
public DateTime FindTaskStartDate(Task task)
{}
}
我应该如何执行递归搜索(LINQ也许)找到与最早开始日期的任务的子任务的任务类?
我最初的做法涉及太多的循环,它结束变得有点混乱,并迅速螺旋失控。这是我的第二次尝试:
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;
}
任何更好的解决方案,那里解决这个问题?
感谢
执行递归搜索的最佳方法是...使用递归搜索。 – 2012-02-16 02:44:50