Вы не используете возвращаемое значение - как и все другие операторы LINQ, метод не меняет существующую последовательность - он возвращает новую последовательность.Поэтому попробуйте это:
var list3 = list1.Concat(list2);
или
var list4 = list1.Union(list2);
Union
- это операция набора - она возвращает различные значения.
Concat
просто возвращает элементы изпервая последовательность, за которой следуют элементы из второй последовательности;результирующая последовательность может содержать повторяющиеся элементы.
Вы можете думать о Union
как Concat
, за которым следует Distinct
.