如果我有以下列表找對象以及所有子對象
List<FlatObject> objects = new List<FlatObject>();
objects.Add(new FlatObject { ID = 1, ParentID = 0, Name = "January", Amount = 1000 });
objects.Add(new FlatObject { ID = 2, ParentID = 0, Name = "February", Amount = 2000 });
objects.Add(new FlatObject { ID = 3, ParentID = 0, Name = "March", Amount = 3000 });
objects.Add(new FlatObject { ID = 4, ParentID = 0, Name = "April", Amount = 4000 });
objects.Add(new FlatObject { ID = 5, ParentID = 0, Name = "May", Amount = 5000 });
objects.Add(new FlatObject { ID = 6, ParentID = 1, Name = "June", Amount = 6000 });
objects.Add(new FlatObject { ID = 7, ParentID = 1, Name = "July", Amount = 7000 });
objects.Add(new FlatObject { ID = 8, ParentID = 1, Name = "August", Amount = 8000 });
objects.Add(new FlatObject { ID = 9, ParentID = 2, Name = "September", Amount = 9000 });
objects.Add(new FlatObject { ID = 10, ParentID = 2, Name = "October", Amount = 10000 });
objects.Add(new FlatObject { ID = 11, ParentID = 2, Name = "November", Amount = 11000 });
objects.Add(new FlatObject { ID = 12, ParentID = 10, Name = "December", Amount = 12000 });
objects.Add(new FlatObject { ID = 13, ParentID = 10, Name = "January", Amount = 13000 });
objects.Add(new FlatObject { ID = 14, ParentID = 10, Name = "February", Amount = 14000 });
objects.Add(new FlatObject { ID = 15, ParentID = 3, Name = "March", Amount = 15000 });
objects.Add(new FlatObject { ID = 16, ParentID = 3, Name = "April", Amount = 16000 });
objects.Add(new FlatObject { ID = 17, ParentID = 3, Name = "May", Amount = 17000 });
沒有人知道我可以寫一個返回一個對象的列表,它的所有孩子遞歸函數?
例如,如果我把ID = 2的參數,我想在一個列表背面
FlatObject { ID = 2, ParentID = 0, Name = "February", Amount = 2000 });
FlatObject { ID = 9, ParentID = 2, Name = "September", Amount = 9000 });
FlatObject { ID = 10, ParentID = 2, Name = "October", Amount = 10000 });
FlatObject { ID = 11, ParentID = 2, Name = "November", Amount = 11000 });
FlatObject { ID = 12, ParentID = 10, Name = "December", Amount = 12000 });
FlatObject { ID = 13, ParentID = 10, Name = "January", Amount = 13000 });
FlatObject { ID = 14, ParentID = 10, Name = "February", Amount = 14000 });
;
我知道如何做到這一點使用LINQ如果我找回剛子,但如果我找回孩子和後代。
我不明白2的id是如何帶回這些結果的? –
你聽說過DFS? – wudzik
@DeeMac 2是10父,10是13個 – Sico