2012-05-13 42 views
0

我试着写在C#中的方法,将通过在阵列中的每个字节进行比较,如果它是不同于第一返回从第二个字节返回两个字节数组之间的差异比较字节。我有这个至今:C#中使用按位运算

 byte[] b1 = 111; 
     byte[] b2 = 105; 

     int j = input.Length; 

     byte[] differenceByte = new byte[j]; 

     int diffIndex = 0; 

     for (int i = 0; i < j; i++) 
     { 
      if (originalByte[i] != comparisonByte[i]) 
       differenceByte[diffIndex++] = comparisonByte[i]; 
     } 

但我希望能找到一种方法来替代if语句的第一个字节与一些位巫术比较第二...有没有办法做到这一点?

第二个问题是,有没有其他办法来优化该代码,使其运行速度极快,可能吗?

我最终会想使用此代码通过将字符串和字节数组,以两个字符串比较,所以如果有什么我应该知道在这方面,这也将是有益的。

+1

如果你能在这里给我们更多的大背景的话,这将有所帮助。为什么要将字符串转换为字节,而不是比较字符,例如? –

+1

如果你正在寻找一个“字符串差异”,也许检查出[这个答案](http://stackoverflow.com/questions/208094/how-to-find-difference-between-two-strings)。 –

+1

您是否在考虑Unicode和多字节编码?由于字符不是字节,因此某些字符可能跨越多个字节。 –

回答

1

平等运营商对比特进行操作。
有没有比较巫术巫术,将提高平等运营商。

+0

好吧,我可能会重新设计使用像乔恩说的字符 –