Click here to Skip to main content
15,851,242 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
I've got the following setup:

class A
   ObservableCollection Bs {get;set;}
class B
   string Title {get; set;}
   ObservableCollection<C> Cs {get;set;}
class C
   string Title {get;set;}

I'm trying to get a list of unique Title's in the entire of A.
So far I've got
var bTitles = A.Bs.Select(f=> f.Title).Distinct();
var cTitles = A.Bs.Select(f=> f.Cs).Select(h=> h.Select(g=> g.Title));

return bTitles.Union(cTitles);

But that's not right, I can't 'flatten' cTitles, at least I think that's what I've got wrong.

1 solution

var titles = A.Bs
                .Select(b => b.Title)
                .Union(A.Bs.SelectMany(b => b.Cs, (b, c) => c.Title))
Share this answer
cjb110 31-Oct-12 9:43am    
Excellent thanks!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900