using System; using System.Linq; using System.Collections.Generic; public class Test { public static void Main() { var oldList = new []{"First","Second","Third","Fourth","Fifth","Sixth","Seventh"}; var newArray = oldList.Select((t, index) => new { t, index }) .OrderBy(x => x.index == 1 || x.index == 2) .ThenBy(x => x.index) .Select(x => x.t) .ToArray(); foreach(var t in newArray) Console.WriteLine(t); } }