我想在TreeView中顯示一堆信息。例如:C#/ LINQ/Objects/Lists:如何填充TreeView的好方法?
Continent 1
Country 1
City 1
City 2
City 3
Country 2
City 1
City 2
Country 3
Continent 2
Country 1
City 1
City 2
Continent 3
該信息通過列表存儲在類/對象中。因此,一個Continent類型的對象/類包含一個包含多個對象/類型Country的類的列表(當然還有一些方法,屬性等)。所有數據都通過LINQ從XML文件中填充。
現在,我可以列出所有大洲的名單 - 並foreach它。在這個習俗中,我向所有國家都列出了這份名單。然後我foreach ... 簡單的方法,但這導致真正討厭的代碼,我認爲(我的節點走的方式比3級更深......)
那麼有沒有一種簡單的方法來實現這一點?也許與LINQ?例如
TreeView.Nodes =
List[Countries].All.Where(Country.Name = Node.Text).Add(
(List[Cities].All.Where(City.Name = Node.Text).Add(
List[People].All.Where(Person.Name = Note.Text)));
我知道,只是垃圾代碼,但這樣它看起來方式比與所有這些嵌套foreachs更加美麗。
我希望你能幫上忙。
如何遞歸數據結構來存儲您的信息和遞歸方法來設置樹? – gls123
@GavinSinai你是什麼意思'遞歸'?我認爲如果內部有任何列表,像掃描目錄以獲得更多目錄/級別,就不可能'全局'對象。請舉個例子吧? – user1450661