Linq在if语句后选择项目

时间:2013-09-20 11:11:13

标签: c# linq

我有一个列表,我想分解到另一个列表。

因此,当if语句正确时,必须将当前项添加到新列表

var newList = oldList.ForEach( x =>
{
    if (condition)
    {
        // select the current item 
    }
})

选择当前项目的部分是问题

4 个答案:

答案 0 :(得分:6)

使用Where方法:

var newList = oldList.Where(x => condition(x));

在此版本中,newList将被lazily评估。为了使结果具体,您可以另外评估结果:

var newList = oldList.Where(x => condition(x)).ToList();

答案 1 :(得分:1)

使用Where():

 var newList = oldList.Where(x => x < 5);

答案 2 :(得分:1)

最后在Where使用ToList方法:

var newList = oldList.Where(x => condition(x)).ToList();

答案 3 :(得分:0)

在您的代码示例中,“x”将是您当前的项目。所以你要做的就是将它添加到另一个列表中。

if (condition)
{
    newList.Add(x);
}