static List <Persona> Ordenar(IEnumerable <Persona> datos, Comparador c) { var lista = new List <Persona>(datos); for (var i = 0; i < lista.Count - 1; i++) { for (var j = i + 1; j < lista.Count; j++) { if (c.Comparar(lista[j], lista[i]) < 0) { var tmp = lista[i]; lista[i] = lista[j]; lista[j] = tmp; } } } return(lista); }