字符串的中字符的换位问题:
假如有如下字符串:9A875720496393,如何实现使得每隔两个字符换一次位置,即变成如下字符串:A9787502943639

解决方案 »

  1.   


                string str = "9A875720496393";            char[] cs = str.ToCharArray();            for (int i = 0; i < cs.Length; i += 2)
                {
                    char temp = cs[i];
                    cs[i] = cs[i + 1];
                    cs[i + 1] = temp;
                }            string res = new string(cs);
                Console.WriteLine(res);
      

  2.   

    字符串长度可能为奇数么?
    上边没考虑奇数情况更新代码:            string str = "9A8757204963931";            char[] cs = str.ToCharArray();            for (int i = 0; i < cs.Length - 1; i += 2)
                {
                    char temp = cs[i];
                    cs[i] = cs[i + 1];
                    cs[i + 1] = temp;
                }            string res = new string(cs);
                Console.WriteLine(res);
    //i < cs.Length - 1;
      

  3.   

           string str = "9A875720496393";            char[] cs = str.ToCharArray();            for (int i = 0; i < cs.Length / 2; i++) //str num            {
                    char temp = cs[i * 2];
                    cs[i * 2] = cs[i * 2 + 1];
                    cs[i * 2 + 1] = temp;
                }            string res = new string(cs);
                Console.WriteLine(res);