我不太明白爲什麼Object.GetHashCode()
爲兩個相同的字節數組返回不同的值,但爲不是IEnumerable
值類型對象返回相同的值。例如:如何使用C#中的Object.GetHashCode()比較兩個巨大的byte []數組?
byte e = 123;
Console.WriteLine(e.GetHashCode());
byte f = 123;
Console.WriteLine(f.GetHashCode());
輸出
123
123
但當
byte[] a = new byte[3] { 1, 2, 3 };
Console.WriteLine(a.GetHashCode());
byte[] b = new byte[3] { 1, 2, 3 };
Console.WriteLine(b.GetHashCode());
輸出
46104728
12289376
爲什麼會這樣,我怎麼能快速比較兩個巨大數組沒有比較他們的每個元素?
的hashCode平等**!= **平等 – spender