如何比较两个颠倒顺序的字符串 例如str1=“2e4abd10” str2= “10bd4a2e” 都是两位两位颠倒,怎样让其中之一颠倒成正常顺序,从而能判断其相同。谢谢,在线等。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用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两串相等 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"); 三楼的代码稍微改下,因为是两位两位颠倒所有for循环的时候要判断i是偶数还是奇数如果是偶数应该 if(str1[i]!=str2[str1.Length-2-i])如果是奇数应该 if(str1[i]!=str2[str1.Length-i]) int a = Convert.ToInt32( "2e4abd10", 16 );int b = IPAddress.NetworkToHostOrder( Convert.ToInt32( "10bd4a2e", 16 ) );if ( a == b ){相等} 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); 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("相等"); } 谢谢happyrain2010,Corporal,real_monster,kiero_jay,Linux7985,symbol_bc,wanghui0380,shiyuyao1987,wuyazhe,a13062331830,这里好几种解决方法都可行。感谢大家! 点击窗体,textbox 获得焦点 C# access查询的困惑 英雄豪杰们 ------>>>>>>>> 这句话哪有错啊,快来救命啊 在线等 C#+WebService的部属实例 在WinForms中打印的问题 【求助】C#串口问题,很奇怪 .NET技术QQ讨论群3758188!欢迎你的到来! 哪里可以找到漂亮一点的treeview控件? 关于excel的toolbar的问题??????????在线 有人用过VisualStudio2005 的office 项目模版开发过word模版吗? GridView如何清空过滤行里的文字 ASPxGridView 关于小数点问题 求解
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两串相等
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");
所有for循环的时候要判断i是偶数还是奇数
如果是偶数应该 if(str1[i]!=str2[str1.Length-2-i])
如果是奇数应该 if(str1[i]!=str2[str1.Length-i])
int a = Convert.ToInt32( "2e4abd10", 16 );
int b = IPAddress.NetworkToHostOrder( Convert.ToInt32( "10bd4a2e", 16 ) );if ( a == b )
{
相等
}
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);
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("相等");
}