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