OrderBy con letras suecas

Tengo una lista de mi clase personalizada Cliente y quiero ordenarlos alfabéticamente por Título. Entonces escribí

myList = myList.OrderByDescending(x => x.Title).ToList<Customer>();

Ahora el problema es que este método no es compatible con la forma sueca de ordenar las letras å, ä, ö. Deben aparecer al final después de la letra z pero no lo hacen.

Así que hice un método alternativo que reemplaza las letras suecas antes del pedido y luego las cambia de nuevo. Se ve así, pero es bastante lento. ¿Alguien puede pensar en una mejor manera?

private List<Customer> OrderBySwedish(List<Customer> myList)
    {
        foreach (var customer in myList)
        {
            customer.Title = customer.Title.Replace("å", "zzz1").Replace("ä", "zzz2").Replace("ö", "zzz3").Replace("Å", "Zzz1").Replace("Ä", "Zzz2").Replace("Ö", "Zzz3");
        }

        myList= myList.OrderBy(x => x.Title).ToList<Customer>();

        foreach (var customer in myList)
        {
            customer.Title = customer.Title.Replace("zzz1", "å").Replace("zzz2", "ä").Replace("zzz3", "ö").Replace("Zzz1", "Å").Replace("Zzz2", "Ä").Replace("Zzz3", "Ö");
        }
        return myList;
    }

Respuestas a la pregunta(4)

Su respuesta a la pregunta