using System.Text.RegularExpressions;
using System.Collections.Generic;
public static void Main()
var array = new List<string>(){"A10", "B10", "A2","A11"};
var sortedArray = array.OrderBy(x => PadNumbers(x));
foreach(var a in sortedArray)
public static string PadNumbers(string input)
return Regex.Replace(input, "[0-9]+", match => match.Value.PadLeft(10, '0'));