gpt4 book ai didi

c# - C#中相同数组的不同哈希码

转载 作者:太空宇宙 更新时间:2023-11-03 17:22:28 24 4
gpt4 key购买 nike

这是伪代码

sbyte[] array1 = new sbyte[100]; 
array1.setValues();
sbyte[] array2 = (sbyte[])array1.Clone();

但是array1.getHashCode()不等于array2.getHashCode();

我应该怎么做才能为 array1 和 array2 获得相同的哈希码?

P.S:词典没有用。因为我想将这些数组添加到哈希表中。在每次添加之后,我需要检查之前添加的可能相同的内容数组。

P.S2:看来我应该澄清一下我的问题。起初我在 Using Hash in C# 发布了完整的问题解决后提出了这个问题。

最佳答案

那不是同一个数组 - 它是具有相同内容的不同数组。

数组 GetHashCode() 不会散列内容。该散列是引用的简单散列。

你可以写一个自定义 IEqualityComparer<sbyte[]>如果需要字典等。

关于c# - C#中相同数组的不同哈希码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4634425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com