0
我有以下函數調用:我如何通過一個IList集合增加一個以上的環
public static MvcHtmlString NavLinks(
this HtmlHelper helper,
IList<MenuItem> menuItems) {
在這個函數中,我知道我可以通過的菜單項使用下面的循環
foreach (MenuItem menuItem in menuItems) {
<code here>
}
但我需要做的是通過外部和 內循環menuItems列表來顯示頂部菜單的一些代碼,然後代碼爲每個頂級菜單項的一部分子菜單項。
因此,每當menuItem.Outer的值發生變化時,我想要執行一些操作,然後不斷用不同的menuItem.Inner讀取記錄,直到外環的值再次發生變化。
下面是我的數據看起來像的一個例子。我只顯示兩列,其中第1列表示menuItem.Outer和列2代表menuItem.Inner
的樣本數據
.....
00 - do outer loop open action A
01 - do inner loop open action B
02 - do inner loop close action C, open action B
10 - do inner loop close action C, outer loop close action D and outer loop open action A
11 - do inner loop open action A
12 - do inner loop close action C, open action B
....
....
"no more data" - do inner loop close action C, outer loop close action D
....
的行動:
action A that needs executing when the outer loop starts
action D that needs executing when the outer loop ends
action B that needs executing when the inner loop starts
action C that needs executing when the inner loop ends
有一個簡單的我可以做到這一點,而不使用foreach?
你所說的「顯示頂部菜單是每個頂級菜單項的部分子菜單項的一些代碼,然後代碼」是什麼意思?你的意思是簡單地遍歷內部的MenuItems,即:foreach(var menutItem.Items){} – Lloyd 2012-02-19 10:27:58
我很困惑的問題。你只是想實現'foreach(var in menuItem.Outer){foreach(var i in menuItem.Inner){...}]'那麼你爲什麼不使用'foreach'? – 2012-02-19 10:29:56
我在尋找的是一些讓我有點控制的方法。某些不使用foreach的東西。如果存在,就像是「下一個」? – 2012-02-19 11:06:46