Prueba con esto:
Código C#:
Ver originalString TrimCad = this.TxtCad01.Text.Replace(" ", ""); //Limpio los espacios en blanco de una caja de texto y lo asigno a una variable la caja de texto puede ser tambien una variable
String[] ArrayCad = new String[TrimCad.Length]; // creando un arreglo donde almacenamos cada caracter de la variable creada
this.TxtCadResult.Text = ""; // Limpiando la caja de texto resultante
for (int i = 0; i < TrimCad.Length; i++)
{
ArrayCad[i] = TrimCad.Substring(i, 1); // Insertando cada caracter en el array
}
// Este metodo ordena el array descendentemente
Array.Sort(ArrayCad, delegate(String s1, String s2) { return s2.CompareTo(s1); });
// Este metodo ordena el array ascendentemente
// Array.Sort(ArrayCad, delegate(String s1, String s2) { return s1.CompareTo(s2); });
foreach (String Cad in ArrayCad)
{
this.TxtCadResult.Text += Cad; // aqui imprimo el resultado final
}