У меня есть список класса A, класс A содержит список класса B.Я хочу работать со всеми экземплярами B во всех экземплярах класса A.
A
B
var myListOfA = new List<A>(); class A { public List<B> ListOfB; }
Как я могу перебрать все B т.е. foreach(var b in myListOfA.ListOfB){}?
foreach(var b in myListOfA.ListOfB){}
Вы можете использовать SelectMany :
foreach(var b in myListOfA.SelectMany(a => a.ListofB))
Посмотреть его в действии на ideone.com .
еще один способ, который хорошо подходит для того, как я думаю о вложенных объектах:
(from A objA in myListOfA from B objB in objA.ListOfB select objB);
, это "разветвляет" список b во всех a в основном списке.