如何快速比較 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: }