Вместо ...
foreach (object o in a.Concat(b)) {
o.DoSomething(); }
Почему не просто?
foreach (object o in a) {
o.DoSomething();
}
foreach (object o in b) {
o.DoSomething();
}
Если вы действительно хотите, чтобы они были в одном и том же списке, создайте новый список и добавьте их вместе, прежде чем начинать обработку.