score:2

Accepted answer

You don't need a comparer to achieve this. Just try something like this:

var res = lettersAndNumbers.OrderBy(c => !int.TryParse(c, out var temp) ? c : 
                                         temp.ToString("D10"))
                                        .OrderBy(c=> !char.IsDigit(c[0]) ? 0 : 1).ToList();

Related Articles