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

时间:2011-07-14 22:44:25

标签: c# foreach c#-2.0

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

foreach (var item in ListItems)
{
    if(item.IsChecked)
    {
        //
    }
}
例如

(没有工作的例子):

foreach (var item in ListItems(=>IsCheked))
{
    //only IsChecked
}

c#-2.0 - 不使用linq

2 个答案:

答案 0 :(得分:7)

我认为这就是你要找的东西:

foreach (var item in ListItems.Where(i => i.IsChecked)) {
    /// ...
}

答案 1 :(得分:6)

C#3和Framework 3.5:

foreach(var item in ListItems.Where(x => x.IsChecked))

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

foreach(<type> item in ListItems.FindAll(delegate(x) { return x.IsChecked; }))

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

foreach(var item in ListItems.FindAll(x => x.IsChecked))