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