如何快速比較 byte 陣列
根據 如何:使用 C# .NET 計算和比較雜湊值 說法,比較兩個 byte 陣列最簡單的方式,就是以迴圈方式對陣列中每一個別元素,逐一與另一個陣列中的值比較。如果有任何元素不相同,或者兩個陣列的大小不同,兩個陣列就不相等。
例:
1: bool bEqual = false;
2: if (tmpNewHash.Length == tmpHash.Length)
   3:  {
4: int i = 0;
5: while ((i < tmpNewHash.Length) && (tmpNewHash[i] == tmpHash[i]))
   6:      {
   7:          i += 1;
   8:      }
   9:   
10: if (i == tmpNewHash.Length)
  11:      {
12: bEqual = true;
  13:      }
  14:  }
但是除了上述作法外,還可以利用 BitConverter 讓比較更加地簡潔:
1: byte[] b1 = { 0x01, 0x02, 0x03 };
2: byte[] b2 = { 0x01, 0x02, 0x03 };
   3:   
4: if (BitConverter.ToString(b1) == BitConverter.ToString(b2))
   5:  {
6: MessageBox.Show("The same");
   7:  }
8: else
   9:  {
10: MessageBox.Show("Different");
  11:  }