2012-02-27 42 views
2

我有以下幾點:我如何在C#中添加一個地方到我的foreach循環

foreach (var menuItem in Model.menuItems) { 
    if (menuItem.Type == "02") { 

    } 
} 

在foreach中的代碼只執行時類型== 2所以是有一些方法,我可以添加復爲Type ==「02」添加到我的循環的頂部。

+0

我想也許你可以通過'Model.menuItems.Where(item => item.Type ==「02」)''取出相關的內容,然後進行處理 – V4Vendetta 2012-02-27 06:31:35

回答

1

如果你的菜單項已經是枚舉:

foreach (var menuItem in Model.menuItems.Where(c => c.Type == "02")) { 
} 

否則嘗試:

foreach (var menuItem in Model.menuItems.AsEnumerable().Where(c => c.Type == "02")) { 
} 

或者:

foreach (var menuItem in Model.menuItems.ToList().Where(c => c.Type == "02")) { 
} 
1

LINQ:

foreach (var menuItem in Model.menuItems.Where(item => item.Type == "02")) { 
} 
1

您可以使用LINQ做以下:

foreach (var menuItem in Model.menuItems.Where(m=>m.Type == "02") { 

} 
2

嘗試

foreach (var menuItem in Model.menuItems.Where(mi => mi.Type == "02") { 

} 
0

怎麼樣

foreach (var menuItem in Model.menuItems.Where(m => m.Type == "02")) { 

} 
1

foreach (var menuItem in Model.menuItems.Where(m => m.Type == "02")) {} 
3

List(Of T).ForEach Method :執行指定的行爲離子對List(Of T)的每個元素。

Model.menuItems.Where(c => c.Type == "02").ToList().ForEach(delegate(type data) 
     { 
      //code to execute 

     }); 
相關問題