2010-04-14 95 views
0

我有大約200個嵌套的類別。我正在閱讀C5泛型庫的文檔。我不確定C5庫是否過度殺傷。我正在考慮將我所有的自定義算法轉換爲C5實現。如何使用集合實現類別層次結構

這就是我需要的。如果選擇某個類別,我需要找到其父母,兄弟姐妹,直接孩子和所有孩子。

這是我設置它的方式。要找到:

父母: 我從當前位置開始,然後遍歷列表並找到當前父級。當我找到父母時,我再次遍歷整個列表以找到下一個父母,等等。

兄弟姐妹: 我循環遍歷整個列表並找到與選擇的節點具有相同父節點的所有節點。

直接子女: 我循環遍歷整個列表並找到所選節點的父節點。

所有子女: 這一個花了我一段時間弄清楚。但我用遞歸找到所有選擇節點的孩子。

有沒有更好的方法來實現這樣的事情?

+0

類別對象?或者在treeview上的字符串?或者是什麼? – Jay 2010-04-14 00:10:28

+0

類別是對象嗎? – Luke101 2010-04-14 00:20:01

回答

2

爲什麼它必須是基於集合的?我只會創建帶有屬性Category ParentIList<Category> Children的課程Category。這樣,找到父母或前輩真的很容易(而且快!),也可以找到孩子,兄弟姐妹是除了當前類別之外的父母的孩子,所以他們也很容易。發現後代是微不足道的遞歸。