Предполагая, что ваши объекты относятся к одному типу, вы можете использовать Union
или Concat
. Обратите внимание, что, подобно ключевому слову SQL UNION
, операция Union
обеспечит удаление дубликатов, тогда как Concat
(например, UNION ALL
) просто добавит второй список в конец первого.
IEnumerable<T> first = ...;
IEnumerable<T> second = ...;
IEnumerable<T> combined = first.Concat(second);
или
IEnumerable<T> combined = first.Union(second);
Если они разных типов, вам придется Select
сделать их общими. Например:
IEnumerable<TOne> first = ...;
IEnumerable<TTwo> second = ...;
IEnumerable<T> combined = first.Select(f => ConvertToT(f)).Concat(
second.Select(s => ConvertToT(s)));
Где ConvertToT(TOne f)
и ConvertToT(TTwo s)
представляют операцию, которая каким-то образом преобразует экземпляр TOne
(и TTwo
соответственно) в экземпляр T
.