c# - 如何将一组字符串哈希转换为从 1 到 5 均匀分布的数字?

标签 c# sorting hash load-balancing

我有一组字符串需要负载平衡到包含 List<string> 的集合的 5 个位置中的一个.

如何获取 string.Hash() 并将其转换为分布均匀的 Int?

我这样问是为了找到 this 的解决方案ASP.NET 问题。

最佳答案

根据the documentation ,该方法返回一个 32 位有符号整数。为什么不直接将该值除以 5?假设hashcode是一个伪均匀分布数,那么模值也应该是均匀分布的。

关于c# - 如何将一组字符串哈希转换为从 1 到 5 均匀分布的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3653874/

相关文章:

c# - 为什么此代码忽略等待并继续进行?

c# - Powershell - 全局注册 IO.FileSystemWatcher

c# - 不使用 ShowDialog 打印会出现空白页

java - 度假村ArrayList的HashMaps的一个简单方法

mysql自定义排序

java - 循环文件的 MD5 哈希会导致内存泄漏

c++ - 寻找生产质量的哈希表/无序映射实现来学习?

C# - 击败键盘记录器的透明窗口

javascript - 我认为自定义排序方法存在范围问题

passwords - Web 应用程序 - 存储密码