例如str1=“2e4abd10”  str2= “10bd4a2e” 都是两位两位颠倒,怎样让其中之一颠倒成正常顺序,从而能判断其相同。谢谢,在线等。

解决方案 »

  1.   

    用for也可以啊
    bool isEquals=str1.Length==str2.Length;
    if(isEquals)
    {
       for(int i=0;i<str1.length;i++)
       {
          if(str1[i]!=str2[str1.Length-1-i])
          {
              //两个不等
              isEquals=false;
              break;
          }
       }
    }
    //程序到这如果为isEquals为true两串相等
      

  2.   


                string testStr = "2e4abd10";            char[] tempArray = testStr.ToCharArray();            string resultStr = "";
                for (int i = tempArray.Length - 1; i >= 0; i--)
                {
                    resultStr += tempArray[i - 1];
                    resultStr += tempArray[i--];
                }
                //先把一个理清顺序,然后判断
                if(resultStr.Equals("10bd4a2e"))
                     //MessageBox.Show("true");
      

  3.   

    三楼的代码稍微改下,因为是两位两位颠倒
    所有for循环的时候要判断i是偶数还是奇数
    如果是偶数应该 if(str1[i]!=str2[str1.Length-2-i])
    如果是奇数应该 if(str1[i]!=str2[str1.Length-i])
      

  4.   


    int a = Convert.ToInt32( "2e4abd10", 16 );
    int b = IPAddress.NetworkToHostOrder( Convert.ToInt32( "10bd4a2e", 16 ) );if ( a == b )
    {
    相等
    }
      

  5.   


     string str1 = "2e4abd10";
                string str2 = "10bd4a2e";
                List<char> list = new List<char>(str1.ToCharArray());
                for (var i = 0; i < list.Count; i = i+2)
                    list.Reverse(i, 2);
                list.Reverse();            string str3 = string.Empty;
                for(var i=0;i<list.Count;i++)
                    str3 += list[i].ToString();
                this.Response.Write(str3);
      

  6.   


    string str = "10bd4a2e";
                int start = 0;
                int length = 2;
                IList<string> l = new List<string>();
                while (true)
                {
                    if (length > str.Length - start)
                        break;
                    l.Add(str.Substring(start, length));
                    start += length;
                }
                string[] array = l.ToArray();
                Array.Reverse(array);
                if ("2e4abd10".Equals(string.Join("", array)))
                {
                    Console.WriteLine("相等");
                }
      

  7.   

    谢谢happyrain2010,Corporal,real_monster,kiero_jay,Linux7985,symbol_bc,wanghui0380,shiyuyao1987,wuyazhe,a13062331830,这里好几种解决方法都可行。感谢大家!