Linq: List of lists to a long list

ybo’s answer would have been my first response too. The query expression equivalent of this is:

var query = from a in computeAList()
            from b in a.Alist
            select b.C;

For the sake of completeness, the other answers in this thread are variations on the same theme.

From ybo (the exact same query, expressed as dot notation):

var query = listOfA.SelectMany(a => a.Alist, (a, b) => b.C);

From Ray Hayes (including the Where clause; I’ve reformatted slightly):

var query = listOfA.SelectMany(a => a.AList, (a, b) => b.C)
                   .Where(c => c.Length > 0);

Leave a Comment