В C# 3.0 можно использовать LINQ's метод Concat для выполнения этого легко:
int[] front = { 1, 2, 3, 4 };
int[] back = { 5, 6, 7, 8 };
int[] combined = front.Concat(back).ToArray();
В C# 2.0 у Вас нет такого прямого пути, но Массива. Копия является, вероятно, лучшим решением:
int[] front = { 1, 2, 3, 4 };
int[] back = { 5, 6, 7, 8 };
int[] combined = new int[front.Length + back.Length];
Array.Copy(front, combined, front.Length);
Array.Copy(back, 0, combined, front.Length, back.Length);
Это могло легко использоваться для реализации собственной версии Concat
.
У меня была аналогичная проблема. В конце концов, я создал экран-заставку и загрузил элементы управления за экраном-заставкой в отдельном потоке. Это остановило мигание, но увеличило загрузку приложения initail.