簡體   English   中英

如何在C#中添加where到foreach循環中

[英]How can I add a where into my foreach loop in C#

我有以下內容:

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

  }
}

foreach中的代碼僅在Type == 2時執行,因此我可以通過某種方式將Type ==“02”的檢查添加到循環的頂部。

List(Of T).ForEach MethodList(Of T)每個元素執行指定的操作。

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

        });

嘗試

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

}

LINQ:

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

您可以使用以下命令使用linq執行此操作:

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

}

如果你的menuItems已經是可枚舉的:

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")) { 
} 

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

怎么樣

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

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM