2012-02-27 28 views
2

で私のforeachループの中にどこを追加することができます。は、どのように私は次のように持っているのC#

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

    } 
} 

のforeach内のコードがタイプ== 2はので、私はチェックを追加することができますいくつかの方法がある場合にのみ実行されますタイプ== "02"の場合、私のループの上部に移動します。

+0

「Model.menuItems.Where(item => item.Type == "02") 'で該当するものを取り出して、 – V4Vendetta

答えて

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 

     }); 
関連する問題