I am looking for a elegant solution for the following situation:
I have a class that contains a List like
class MyClass{ ... public List
You should have a look at SelectMany. Something like this should generate your "flat" list:
MyClassList.SelectMany(b => b.SomeOtherClasses)
It will return a IEnumerable which you can filter/process further.
IEnumerable