我在实现数据序列化时遇到了问题。 我有:
- 4 字节字段:
- 值范围 0-255
- 值范围 0- 4
- 值范围 0-255
- 值范围为 0-100
- 和 1 个 int 字段(只有正值)
我有一个想法将所有转换为字节数组(长度 8)或整数数组(长度 2)并获取 C# GetHashCode 方法
GetHashCode 是否足够强大以用作此数据的标识符? 或者有人有更好的主意,也许?
心电图
最佳答案
GetHashCode 并非旨在创建唯一标识符 - 它的主要用途是为散列数据结构(如 HashTable)中的桶分配值 - 参见 http://ericlippert.com/2011/02/28/guidelines-and-rules-for-gethashcode/ .当我需要一个对象的唯一标识符时,由于某种原因对象本身没有提供唯一标识符,我通常只求助于 GUID。在 C# 中生成它们很简单,并且保证在您正在做的任何事情的范围内都是唯一的。
关于c# - GetHashCode 是否足够强大,或者我是否需要另一个哈希函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7032245/