gethashcode

    0熱度

    2回答

    有這種外觀極好問題和答案這個話題: Do I HAVE to override GetHashCode and Equals in new Classes? 因爲它提到: 你只需要,如果你需要的值相等的語義覆蓋它們。 System.Object的實現不是'壞',它只是一個引用檢查(這是所有級別的實現都可以)。 簡而言之:如果你需要某種基於價值的平等(基於類的屬性的平等),那麼是的,重寫掉。否則,它

    15熱度

    1回答

    我從相同byte[]創建IPAddress情況下,它在WCF發送到服務器的兩個客戶端(使用DataContractSerializer)。 在服務器上,這些IPAddress實例作爲鍵被插入字典中,但由於某些原因它們被添加爲不同的鍵。 當記錄時,我發現它們是相等的,但GetHashCode返回不同的結果。 var client1Address = // sent from client1 var

    2熱度

    3回答

    比方說,我有幾類: MyClass1() {} MyChild1() : MyClass1 {} MyChild2() : MyClass2 {} MyGrandchild1() : MyChild2 {} 等 我知道的GetHashCode()本身,做任何兩個不同對象之間不保證唯一性,但我有興趣嗎?也適用於任何兩個?即: (1)是有機會是:typeof(MyClass1).Get

    0熱度

    1回答

    我有一個覆蓋Equals()方法的結構和編譯器抱怨GetHashCode()沒有被覆蓋。 我的結構: private struct Key { ... public override int GetHashCode() { return ?; } public int FolderID; public MyEnu

    2熱度

    3回答

    說,我有一個類索引從它創建的所有對象從0,...,n-1(使用創建對象的靜態計數器)。由於這些對象用於HashSets和Dictionaries,我們需要一個Hash函數。 是否有任何理由不使用此索引作爲哈希值?

    1熱度

    1回答

    我有兩個不同的對象列表,並希望根據某些屬性的權重獲得它們的相似性。最快的方法似乎是實現了IEquatable接口,這就是我做: public class CompareEntry : IEquatable<CompareEntry> { public int LeadId { get; set; } public int SaleId { get; set; } p

    1熱度

    4回答

    以下代碼是否正常? public override bool Equals(object obj) { if (obj == null || !(obj is LicenseType)) return false; return GetHashCode() == obj.GetHashCode(); } public override int GetHashC

    0熱度

    1回答

    (1)我知道GetHashCode必須爲兩個對象返回相同的數字(如果它們相等)。 (2)我也知道,SequenceEqual比較一List的每個值,並Equals(list1, list2)將返回true只有list1和list2是相同的實例。 所以,考慮下面的代碼: public List<ClassB> SampleList { get; set; } public string Str {

    0熱度

    3回答

    對於我的項目,我需要將圖像索引作爲像這樣的哈希碼28F996F0.jpg。我正在嘗試下面的代碼來獲取此值,但有一個錯誤 - 不能隱式地將類型'字符串'轉換爲'byte []'。 var Image= ImgresponseJson.query.pages[ImgfirstKey].thumbnail.source; img.ImageData = string.Format("{0:X}.jpg

    0熱度

    3回答

    我有一個集合,它是兩個唯一訂單的排列,其中OrderId是唯一的。因此它包含Order1 (Id = 1)和Order2 (Id = 2)作爲12和21。現在,在處理路由算法時,檢查很少的條件,並且在最終結果中包括組合時,其反向必須被忽略,並且不需要考慮處理。現在由於ID是一個整數,我已經創建了一個以下邏輯: private static int GetPairKey(int firstOrder