增加字符串中的字符

时间:2012-10-11 11:32:31

标签: c#

我有以下代码:

string str="A";

我想以编程方式获取下一个字母字符(如B,C,D,E等)

有人可以建议这样做吗?

4 个答案:

答案 0 :(得分:10)

使用Char

而不是整个字符串
char aChar = 'A';

aChar++; // After this line executes, `aChar` is `B`

答案 1 :(得分:3)

如果您正在寻找类似“A”的东西......“Z”......“AA”,“AB”......“ZZ”......“AAA”...... ,这是代码,

  public static string IncrementString(this string input)
    {
        string rtn = "A";
        if (!string.IsNullOrWhiteSpace(input))
        {
            bool prependNew = false;
            var sb = new StringBuilder(input.ToUpper());
            for (int i = (sb.Length - 1); i >= 0; i--)
            {
                if (i == sb.Length - 1)
                {
                    var nextChar = Convert.ToUInt16(sb[i]) + 1;
                    if (nextChar > 90)
                    {
                        sb[i] = 'A';
                        if ((i - 1) >= 0)
                        {
                            sb[i - 1] = (char)(Convert.ToUInt16(sb[i - 1]) + 1);
                        }
                        else
                        {
                            prependNew = true;
                        }
                    }
                    else
                    {
                        sb[i] = (char)(nextChar);
                        break;
                    }
                }
                else
                {
                    if (Convert.ToUInt16(sb[i]) > 90)
                    {
                        sb[i] = 'A';
                        if ((i - 1) >= 0)
                        {
                            sb[i - 1] = (char)(Convert.ToUInt16(sb[i - 1]) + 1);
                        }
                        else
                        {
                            prependNew = true;
                        }
                    }
                    else
                    {
                        break;
                    }

                }
            }
            rtn = sb.ToString();
            if (prependNew)
            {
                rtn = "A" + rtn;
            }
        }

        return rtn.ToUpper();
    }

答案 2 :(得分:2)

var str = "A";
char firstChar = str[0];
char nextChar = (char)((int)firstChar + 1);
var newStr = nextChar.ToString();

答案 3 :(得分:0)

我正在寻找相同的东西,我正在使用字符串,所以我需要投射它。

如果您的变量是字符串,则可以执行此操作:

string foo = "b";
char result = Convert.ToChar(foo[0] + 1); //Will result to 'c'