首页新闻招聘找找看知识库
  • 今天在看资料时,看到一个“交换两个指定位置字符”的函数,代码如下:

            static void Main(string[] args)
            {
                string s = "123456789";
                Console.Write(SwapChar(s, 3, 6).ToString());
            }
    
            static string SwapChar(string s, int p1, int p2)
            {
                if ((p1 == p2) || ((p1 < 0) || (p2 < 0))) return s;
                if ((p1 >= s.Length) || (p2 >= s.Length)) return s;
                char[] vChars = s.ToCharArray();
                vChars[p1] = (char)(vChars[p2] | (vChars[p2] = vChars[p1]) & 0);
               return new string(vChars); }

    我的疑问:

    vChars[p1] = (char)(vChars[p2] | (vChars[p2] = vChars[p1]) & 0);
    这句话没有看懂实现原理,还请懂的大侠能详细解读一下,谢谢了!

登录后才能评论,请先登录注册