我可以有相同的類型如何執行遞歸搜索?
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