IEnumerable Where子句

时间:2012-08-21 22:57:07

标签: c# ienumerable

Line 1 - A 01/01/2012 01/05/2012  
Line 2 - B 01/01/2012 01/05/2012  
Line 3 - A 01/06/2012 01/07/2012  
Line 4 - A 01/01/2012 01/05/2012  
Line 5 - A 01/06/2012 01/07/2012

我使用以下方法捆绑此列表

public IEnumerable<IEnumerable<Line>> Bundle(IEnumerable<Line> Lines)
    {
        yield return Lines
        .Where(x => x.PropertyOne = "A" )
    }

我还要比较PropertytwoPropertythree是否相等,我想要一个如下所示的结果

Lines  
----Line 1 - A 01/01/2012 01/05/2012  
----Line 4 - A 01/01/2012 01/05/2012  
Lines  
----Line 3 - A 01/06/2012 01/07/2012            
----Line 5 - A 01/06/2012 01/07/2012 

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您可能希望使用GroupBy,而不是收益率返回。像这样:

public IEnumerable<IEnumerable<Line>> Bundle(IEnumerable<Line> Lines)
{
    return Lines
        .Where(x => x.PropertyOne == "A" )
        .GroupBy(x => new {x.PropertyTwo, x.PropertyThree});
}