我可以在循环(foreach)条件下询问

Med*_*tor -3 c# foreach c#-2.0

您可以创建相同的设计但没有条件(如果)?

foreach (var item in ListItems)
{
    if(item.IsChecked)
    {
        //
    }
}
Run Code Online (Sandbox Code Playgroud)

例如(没有工作的例子):

foreach (var item in ListItems(=>IsCheked))
{
    //only IsChecked
}
Run Code Online (Sandbox Code Playgroud)

c#-2.0 - 不使用linq

con*_*tor 7

我想这就是你要找的东西:

foreach (var item in ListItems.Where(i => i.IsChecked)) {
    /// ...
}
Run Code Online (Sandbox Code Playgroud)


Jim*_*mmy 6

C#3和框架3.5:

foreach(var item in ListItems.Where(x => x.IsChecked))
Run Code Online (Sandbox Code Playgroud)

C#2,Framework 2.0(假设ListItems是一个List)

foreach(<type> item in ListItems.FindAll(delegate(x) { return x.IsChecked; }))
Run Code Online (Sandbox Code Playgroud)

C#3,Framework 2.0(如果您使用的是visual studio 2008或更高版本,但目标是2.0框架)var可以编译lambda语法和关键字,但是没有要引用的System.LINQ库.

foreach(var item in ListItems.FindAll(x => x.IsChecked))
Run Code Online (Sandbox Code Playgroud)