93 votes

Existe-t-il un moyen simple de trier les caractères d'une chaîne par ordre alphabétique ?

J'ai des cordes comme ça :

var a = "ABCFE";

Existe-t-il un moyen simple de trier cette chaîne en :

ABCEF

Gracias

173voto

SLaks Points 391154

Vous pouvez utiliser LINQ :

String.Concat(str.OrderBy(c => c))

Si vous voulez supprimer les doublons, ajoutez .Distinct() .

135voto

Roy Dictus Points 19568

Oui, copiez la chaîne dans un tableau de caractères, triez le tableau de caractères, puis recopiez-le dans une chaîne.

static string SortString(string input)
{
    char[] characters = input.ToArray();
    Array.Sort(characters);
    return new string(characters);
}

34voto

agent-j Points 14703
new string (str.OrderBy(c => c).ToArray())

11voto

Rupesh Kamble Points 73

Vous pouvez utiliser ce

string x = "ABCGH"

char[] charX = x.ToCharArray();

Array.Sort(charX);

Cela permettra de trier votre chaîne.

3voto

C'en est une autre. Vous pouvez utiliser SortedSet :

var letters = new SortedSet<char> ("ABCFE");
foreach (char c in letters) Console.Write (c); // ABCEF

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X