iequalitycomparer

    2熱度

    1回答

    我想要一個IEqualityComparer<Type>返回true當且僅當兩個泛型類型相同時忽略泛型參數。所以comparer.Equals(typeof(List<A>), typeof(List<B>))應該返回true。 我被Name做一個比較: public class GenericTypeEqualityComparer : IEqualityComparer<Type> {

    0熱度

    1回答

    我有下面的列表使用自定義比較: var ips = new List<string> { "192.168.5.1", "192.168.0.2", "192.168.0.3", "192.168.0.4", "192.168.1.1", "192.168.1.2", "192.168.1.3", "192.168.1

    3熱度

    2回答

    再次這個例子是一個非常簡化版本的實際問題,涉及linq分組的自定義比較器。我做錯了什麼? 下面的代碼產生下面 的結果(1.2,0),因爲1.1, (4.1,0),(4.1,0), (1.1,0), 但是我期待以下和1.2是<分開。 (1.2,0),(1.1,0), (4.1,0),(4.1,0), class Program { static void Main(string[] ar

    2熱度

    1回答

    我創建了兩個幾乎完全相同的類。兩者都表示一個Pair(x,y),但在其中一箇中我覆蓋了GetHashCode和Equals方法。有人告訴我,當HashCode不同時,集合將它們作爲不同的元素,甚至不打算將它們與等號進行比較。然而,事實證明,我爲這個類實現了一個EqualityComparer,它不覆蓋GetHashCode和Equals,即使HashCodes仍然不同,一切正常。 看看我的控制檯項

    -1熱度

    1回答

    移動的問題here。 我的要求是編寫一個類似模擬diff工具的程序。是的,有相當多的庫和開源代碼可以達到這個目的,但我想寫自己的比較器。 這是出發點。我有一個名爲DataItem的類,它看起來是這樣的: public class DataItem { public DataItem() { } public DataItem(string d, string v) { Dat

    0熱度

    1回答

    我有一個對象有很多變量,我想要一個獨特的函數來比較兩個變量(customerid,status)來考慮重複項,我使用下面的比較,但我希望選擇不同功能如何刪除重複項的優先級。 有一個名爲「file」的字符串變量,它具有文件名(全部具有相同的擴展名),但擴展名前有3個可能的後綴(「」,「_ 0」,「TEXT」)。例如 「file_Name.txt」 「file_Name_0.txt」 「file_Na

    4熱度

    4回答

    我做了一個代碼,它基本上比較了C#中的兩個列表。第一個列表包含這樣的性質: 項目ID TOTALVIEWS 首先列出缺少值TOTALVIEWS所以我從第二列表賦予它們擁有這些道具: ItemID HitCount //這是TotalViews需要分配的屬性 的代碼如下: foreach (var item in parsedMerchantData) { var itemInB = H

    3熱度

    2回答

    我想實現的是對一個日期比較容忍的IEqualityComparer。我也看過this question。問題是我無法使用解決方法,因爲我在LINQ .GroupJoin()中使用IEqualityComparer。我已經嘗試了一些允許寬容的實現。我可以讓Equals()工作,因爲我有兩個對象,但我不知道如何實現GetHashCode()。 我最好的嘗試看起來是這樣的: public class T

    1熱度

    1回答

    我有一個自定義比較器的類型(字典)的詞典,因爲我們想要存儲2個給定類型之間的關係(對於MVVM模式),我需要幫助以一種方式獲得自定義EqualityComparer工作。 做了一些研究,我發現GetHashCode方法在Equals方法之前被調用,我怎麼才能得到哈希碼?,預期的行爲,如果我試圖從我的字典中得到一個「Square」一個「GeometricShape」已經在這,它返回「Geometri

    1熱度

    1回答

    我試圖寫一個相等比較的簡單類3場,就像這樣: public class NumberClass { public int A { get; set; } public int B { get; set; } public int C { get; set; } } 我爲NumberClass兩個對象的條件是相等的,如果Obj1.A == Obj2.A || O