我正在使用xxHash
C# 来散列值以保持一致性。
ComputeHash
返回 a byte[]
,但我需要将结果存储在 a 中long
。
我能够将结果转换为int32
使用BitConverter
. 这是我尝试过的:
var xxHash = new System.Data.HashFunction.xxHash();
byte[] hashedValue = xxHash.ComputeHash(Encoding.UTF8.GetBytes(valueItem));
long value = BitConverter.ToInt64(hashedValue, 0);
当我使用int
它时工作正常,但是当我更改ToInt64
它时失败。
这是我得到的例外:
目标数组的长度不足以复制集合中的所有项目。检查数组索引和长度。