Ответ 1
Да. IEnumerable.Concat просто превратит два списка в один список, присоединив их к концу другого. Порядок в каждом списке будет сохранен.
Предположим, что два списка A и B так, что A = (1,2,3) и B = (4,5,6). Будет ли A.Concat(B) сохранить порядок, чтобы результат (1,2,3,4,5,6)?
Да. IEnumerable.Concat просто превратит два списка в один список, присоединив их к концу другого. Порядок в каждом списке будет сохранен.
Да, это почти то, что означает конкатенация.
Обязательная цитата из MSDN: (Enumerable.Concat)
Возвращаемое значение
Тип: System.Collections.Generic.IEnumerable (TSource)
IEnumerable (T), который содержит конкатенированные элементы двух входных последовательности.