using System;
using System.Collections.Generic;
using System.Linq;
public class Program {
public static void Main() {
var lista = new List<string> { "12/10", "01/02", "123/12", "A/1", "4/5" };
var listaClassificada = lista.OrderBy(x => ConversaoParcial(x));
listaClassificada.ToList().ForEach(Console.WriteLine);
}
public static string ConversaoParcial(string texto) {
int valor;
string textoParcial = texto.Split('/', '-')[0];
return int.TryParse(textoParcial, out valor) ? textoParcial.PadLeft(4, '0') : textoParcial.PadLeft(4, 'A');
}
}
//https://pt.stackoverflow.com/q/180975/101
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgkJCQkJCnB1YmxpYyBjbGFzcyBQcm9ncmFtIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkgewoJCXZhciBsaXN0YSA9IG5ldyBMaXN0PHN0cmluZz4geyAiMTIvMTAiLCAiMDEvMDIiLCAiMTIzLzEyIiwgIkEvMSIsICI0LzUiIH07CgkJdmFyIGxpc3RhQ2xhc3NpZmljYWRhID0gbGlzdGEuT3JkZXJCeSh4ID0+IENvbnZlcnNhb1BhcmNpYWwoeCkpOwoJCWxpc3RhQ2xhc3NpZmljYWRhLlRvTGlzdCgpLkZvckVhY2goQ29uc29sZS5Xcml0ZUxpbmUpOwoJfQoJcHVibGljIHN0YXRpYyBzdHJpbmcgQ29udmVyc2FvUGFyY2lhbChzdHJpbmcgdGV4dG8pIHsKCQlpbnQgdmFsb3I7CgkJc3RyaW5nIHRleHRvUGFyY2lhbCA9IHRleHRvLlNwbGl0KCcvJywgJy0nKVswXTsKCQlyZXR1cm4gaW50LlRyeVBhcnNlKHRleHRvUGFyY2lhbCwgb3V0IHZhbG9yKSA/IHRleHRvUGFyY2lhbC5QYWRMZWZ0KDQsICcwJykgOiB0ZXh0b1BhcmNpYWwuUGFkTGVmdCg0LCAnQScpOwoJfQp9CgovL2h0dHBzOi8vcHQuc3RhY2tvdmVyZmxvdy5jb20vcS8xODA5NzUvMTAx