2012-05-13 60 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

好吧,我可能會重新設計使用像喬恩說的字符 –