J'essaye de remplacer le caractère suivant de la chaîne par le caractère immédiat. Par exemple, la chaîne donnée est "HOME"

La chaîne requise doit être "EHOM",

Est-il possible de le faire sans aucune fonction de remplacement.

-1
Reshma 21 avril 2017 à 12:36

3 réponses

Meilleure réponse

On dirait simplement de déplacer le dernier personnage devant:

string s = "HOME";
s = s.Last() + s.Remove(s.Length - 1);   // "EHOM"
2
Slai 21 avril 2017 à 09:49

Approche "tout faire à pied":

Créer un tableau de caractères aussi long que votre chaîne ... (pas de valeur nulle à la fin)

Avoir une boucle for avec l'index je passe par le tableau

Calculer la position de remplacement r = i - 1 + len (tableau) mod len (tableau)

Chercher le caractère de la position r dans la chaîne d'origine

Mettez le caractère récupéré à la position i de votre tableau

Fin de boucle

Créer une chaîne à partir de votre tableau

1
DarkSquirrel42 21 avril 2017 à 09:44

Fonctions de chaîne de base:

    string x = "Home";
    string y = x.Substring(x.Length - 1, 1) + x.Substring(0, x.Length - 1);

Veuillez noter que vous devez déclarer une nouvelle chaîne pour respecter l'immuabilité.

1
Mad Myche 21 avril 2017 à 15:09