gpt4 book ai didi

c# - 仅来自 boolean 值的 GetHashCode()

转载 作者:可可西里 更新时间:2023-11-01 09:08:21 27 4
gpt4 key购买 nike

我有一个不可变类,它的唯一字段是 bool[](大小在运行时确定)。

如何计算此类的良好哈希码?通常我会在每个字段上调用 ​​GetHashCode(),并将它们与以下运算符之一组合:+ | &,但由于唯一可能的哈希码是 0 代表 false1 代表 true,那不会真的让我到任何地方。我的实现只需要使用 bools,并且必须适用于任意大小的数组。

(可能无关紧要,但我正在使用 C#/.NET 进行编码。)

最佳答案

假设您的 bool[] 被命名为 bools:

unchecked { 
int hash = 17;
for(int index = 0; index < bools.Length; index++) {
hash = hash * 23 + bools[index].GetHashCode();
}
return hash;
}

关于c# - 仅来自 boolean 值的 GetHashCode(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6832139/

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