La question est compliquée mais je vais l'expliquer en détails.Comment faire l'étape suivante d'une chaîne. C#
Le but est de faire une fonction qui retournera la prochaine "étape" de la chaîne donnée.
Par exemple
String.Step("a"); // = "b"
String.Step("b"); // = "c"
String.Step("g"); // = "h"
String.Step("z"); // = "A"
String.Step("A"); // = "B"
String.Step("B"); // = "C"
String.Step("G"); // = "H"
Jusqu'à ici son assez facile, mais en prenant à l'esprit que l'entrée est une chaîne peut contenir plus de 1 caractères et la fonction doit se comporter comme celui-ci.
String.Step("Z"); // = "aa";
String.Step("aa"); // = "ab";
String.Step("ag"); // = "ah";
String.Step("az"); // = "aA";
String.Step("aA"); // = "aB";
String.Step("aZ"); // = "ba";
String.Step("ZZ"); // = "aaa";
et ainsi de suite ...
Cela ne doit pas exactement d'étendre la base de la classe String.
J'ai essayé de travailler sur les valeurs ASCII de chaque caractère, mais je me suis retrouvé coincé avec des chaînes contenant 2 caractères.
J'apprécierais vraiment si quelqu'un peut fournir le code complet de la fonction.
Merci d'avance.
EDIT * Je suis désolé, j'oublié de mentionner plus tôt que la fonction « reparse » la chaîne auto générée lorsque sa longueur atteint n. Je suis désolé je ne l'ai pas mentionné plus tôt, après avoir lu quelques réponses j'ai réalisé que le problème était en question.
Sans cela, la fonction produira toujours le caractère "a" n fois après la fin de l'étape.
Pourquoi ne pas poster ce que vous avez essayé? –
L'entrée est toujours a-zA-Z – George
Je suis désolé j'ai oublié d'ajouter la question principale: S. Question éditée. – George