如何按字母顺序找出下一个字符?

时间:2009-06-22 09:15:21

标签: c# char

我们如何找到输入的下一个字符。例如,如果我输入了字符“b”,那么如何得到答案“c”?

9 个答案:

答案 0 :(得分:36)

试试这个:

char letter = 'c';

if (letter == 'z')
    nextChar = 'a';
else if (letter == 'Z')
    nextChar = 'A';

else
    nextChar = (char)(((int)letter) + 1);

这样,当char是字母表的最后一个时,你就没有问题了。

答案 1 :(得分:14)

怎么样:

char first = 'c';
char nextChar = (char)((int) first + 1);

答案 2 :(得分:5)

请注意,char将隐式转换为int。这是一个简化的解决方案:

char incrementCharacter(char input)
{
    return (input == 'z'? 'a': (char)(input + 1));
}

答案 3 :(得分:2)

也许最简单的方法是一个小函数和一个26个字符的数组。然后你可以决定你要为'z'返回什么。

答案 4 :(得分:1)

将字符转换为数字,递增数字然后转换回来。

但请考虑一下“z”或“á”会发生什么(拉丁文小A与急性)。

答案 5 :(得分:0)

需要在角色中添加1才能获得下一个角色。 它适用于ASCII值。

答案 6 :(得分:0)

ä如何排序? 在德语中(我认为)它应该在a之后排序,但是在瑞典语中它应该在å之后,而后者又在z之后。这不是一个微不足道的问题,除非你把自己局限于英语。

答案 7 :(得分:0)

此更改值可用于Excel应用程序以查找上一列

public static string PrevExecelColumn(string s)         {             s = s.ToUpper();             char [] ac = s.ToCharArray();             int ln = ac.Length;             for(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;
    }  

答案 8 :(得分:0)

尝试一下:

public string GetNextAlphabetLetter(int indice) {
  return ((char)('A' + indice)).ToString();
}