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