Comment pouvons-nous trouver le prochain caractère du caractère saisi? Par exemple, si je saisis le caractère "b", comment puis-je obtenir la réponse "c"?
Essaye ça:
char letter = 'c';
if (letter == 'z')
nextChar = 'a';
else if (letter == 'Z')
nextChar = 'A';
else
nextChar = (char)(((int)letter) + 1);
De cette façon, vous n'avez aucun problème lorsque le caractère est le dernier de l'alphabet.
Que diriez-vous:
char first = 'c';
char nextChar = (char)((int) first + 1);
Notez qu'un caractère sera implicitement converti en un entier. Voici une solution simplifiée:
char incrementCharacter(char input)
{
return (input == 'z'? 'a': (char)(input + 1));
}
Le moyen le plus simple est peut-être une petite fonction et un tableau de 26 caractères. Ensuite, vous pouvez décider de ce que vous voulez retourner pour "z".
Convertissez le caractère en nombre, incrémentez-le puis reconvertissez-le.
Mais considérons ce qui se passera pour "z" ou "á" (petit latin Leter A avec aigu).
Cette valeur de changement utile pour l'application Excel pour rechercher la colonne précédente
chaîne publique statique PrevExecelColumn (chaîne s) {s = s.ToUpper (); char [] ac = s.ToCharArray (); int ln = ac.Length; pour (int i = ln - 1; i> -1; i--) {char c = ac [i];
if (c == 'A')
{
ac[i] = 'Z';
continue;
}
ac[i] = (char)(((int)ac[i]) - 1);
break;
}
s = new string(ac);
return s;
}
Essaye ça :
public string GetNextAlphabetLetter(int indice) {
return ((char)('A' + indice)).ToString();
}
Comment est-ce que trier? En allemand (je pense), cela devrait trier après a, mais en suédois, il devrait être après å, qui après z. Ce n'est pas une question triviale, à moins que vous ne vous limitiez à l'anglais.
il suffit d’ajouter 1 caractère pour obtenir le caractère suivant. Cela fonctionne sur les valeurs ASCII.