有条件的Lambda Foreach

时间:2012-08-23 17:57:27

标签: c# linq

我有一个列表,我正在迭代如下。

foreach (Statistics value in data.Where(x => x.DateOrTime >= start[0]))

但是,我想添加一个检查,如果myVariable == 0然后按照上面的方式执行。另外,如下所示。

foreach (Statistics value in data)

所以基本上,我想在表达式中做一个if / else。

1 个答案:

答案 0 :(得分:10)

怎么样:

foreach (Statistics value in data.Where(x => myVariable != 0 || 
                                             x.DateOrTime >= start[0]))

可替换地:

var query = myVariable == 0 ? data.Where(x => x.DateOrTime >= start[0]) : data;
foreach (Statistics value in query)
{
}