C# 整数数组的哈希码

2023-11-30

我有一个类,其内部只是一个整数数组。一旦构造完毕,数组就永远不会改变。我想预先计算一个好的哈希码,以便该类可以非常有效地用作字典中的键。数组的长度大约在30项以内,整数一般在-1000到1000之间。


不是很聪明,但足以满足大多数实际目的:

编辑:由于 Henk Holterman 的评论而更改,谢谢。

  int hc = array.Length;
  foreach (int val in array)
  {
      hc = unchecked(hc * 314159 + val);
  }

如果您需要更复杂的东西,看这里.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 整数数组的哈希码 的相关文章

随机推荐

  • 如何在 R 中重新排列图表

    我更新了我的diagrammer到版本 0 9 0 并开始从相同的数据渲染不同的图表 我的数据框现在看起来像这样 df lt data frame col1 c Cat Dog Bird col2 c Feline Canis Avis s
  • 如何免费制作 Xbox Live 独立游戏?

    有没有办法制作免费的 Xbox Live 独立游戏 现在我并不是想在市场上向全世界发布它 而是想在我的 Xbox 上免费测试它 我知道您必须在 Xbox 和 PC 上下载 XNA 应用程序 但我是否需要 XNA Creators Club
  • 通过镜像名称获取进程的进程句柄

    我需要使用 Win32 从 C 中最简单的方法通过可执行文件名获取另一个进程的进程句柄 我正在寻找的进程没有任何已注册的窗口类 我还知道 如果它正在运行 则只会有一个实例在运行 Use 创建Toolhelp32Snapshot 进程32优先
  • DATEADD 的 NSPredicate 语法?

    有没有办法在 NSPredicate 上执行 DateAdd 或 DateDiff 函数 谢谢你 何塞 事实上 有 这是一种迂回的做法 因为NSPredicate不直接支持它 即 你不能只是 anInterval to an NSDate
  • 如何找到线段上距离任意点最近的点?

    该函数应该接受一个点参数 该参数将用于查找线段对象上与其最近的点 在示例断言代码中 函数getClosestPoint Point takes Point 10 0 作为参数并应该返回Point 5 5 作为最接近的点Point 10 0
  • 如何在滚动停止时触发ajax请求?

    在窗口滚动上我正在执行这样的ajax请求 window scroll function doing ajax request 但它正在为滚动事件创建多个ajax 请求 是否有像 onscrollstop 这样的事件或仅在窗口滚动结束后触发的
  • 文本识别无法识别货币符号

    我正在移动视觉中使用文本识别 API 并尝试处理货币金额 OCR 目前支持基于拉丁语的语言 如法语 德语等 因此我认为该国的货币 欧元 将是一个可识别的符号 但据我所知 事实并非如此 为了检测 我是否应该更改语言首选项 是否有人有在移动视觉
  • Access DB Query 将由“,”分隔的列拆分为多行

    我使用的是Access DB 表中数据如下 ID Number 1 12 34 45 55 67 66 5 7 2 45 55 67 89 777 3 23 45 67 88 777 8888 564 4 1 234 567 890 987
  • 和 之间有什么区别? (点)和 $(美元符号)?

    点和点有什么区别 和美元符号 据我了解 它们都是不需要使用括号的语法糖 The 运算符是为了避免括号 在它之后出现的任何内容都将优先于之前出现的任何内容 例如 假设您有一行内容如下 putStrLn show 1 1 如果你想去掉这些括号
  • 具有多个箱子和约束的无界背包

    我是 Python 编码新手 需要帮助解决具有多个垃圾箱 4 个垃圾箱 和约束的无界背包问题 这些箱子的重量限制分别为 10 5 10 5 7 和 7 每个箱子只能装满某些物品 例如 仓 0 只能填充项目 0 9 仓 1 只能填充项目 10
  • 从数组列表中删除元素的更有效方法

    我开发了一个像这样的数组列表 ArrayList
  • Run() 和 ShellExecute() 之间的区别

    我想通过 AutoIt 在 Windows 上的 shell 终端中执行某些操作 我知道有两种方法可以做到这一点 例如 Run ComSpec c myCommand SW HIDE and ShellExecute myCommand 我
  • Blob 存储中的空图像

    这就是我尝试将图像上传到 Azure blob 存储 然后上传位于此处的空文件的方法 我尝试在这里上传这张图片 CloudStorageAccount storageAccount new CloudStorageAccount new M
  • 绘制 2 度线性回归的困难

    我在用机器学习模型的 2 度曲线绘制 2d 线性回归时遇到了一些麻烦 这是我的代码 m 100 X 6 np random rand m 1 3 y 0 5 X 2 X 2 np random randn m 1 plt plot X y
  • Angular 2,同一页面上运行的两个应用程序之间的通信[重复]

    这个问题在这里已经有答案了 我正在寻找一种方法让两个 Angular 2 应用程序相互通信 我发现我应该提供共享服务 My main ts import bootstrap from angular platform browser dyn
  • Monodroid,Java 和 C# 之间的互操作

    我们在 Android 下有一个大型 Java 应用程序 大 只是意味着翻译该应用程序的工作量太大 我们必须访问一个用 Net编写的引擎 这个引擎也太 大 了 该引擎仅用于计算 因此我们寻求使用 monodroid 的解决方案 我们的主要问
  • iPhone Store Kit“无法连接到 iTunes Store”

    我正在努力将应用内购买添加到我的应用程序中 我能够收到productsRequest didReceiveResponse方法 并接收产品数组 当我添加一个时 我的问题出现了SK支付 to the SK支付队列 将产品添加到队列后 在pay
  • MySQL:如何复制行,但更改一些字段?

    我有大量想要复制的行 但我需要更改一个字段 我可以选择要复制的行 select from Table where Event ID 120 现在我想复制所有这些行并在设置时创建新行Event ID to 155 我怎样才能做到这一点 INS
  • 如何更改 Twitter Bootstrap 模式框的默认宽度?

    我尝试了以下方法 div class modal hide fade modal admin style display none div class modal header a class close a h3 h3 div div c
  • C# 整数数组的哈希码

    我有一个类 其内部只是一个整数数组 一旦构造完毕 数组就永远不会改变 我想预先计算一个好的哈希码 以便该类可以非常有效地用作字典中的键 数组的长度大约在30项以内 整数一般在 1000到1000之间 不是很聪明 但足以满足大多数实际目的 编