我正在使用 Booksleeve 从 C# 代码与 Redis 进行通信。代码首先从哈希中检索所有字段和值:
var vals = await Redis.Hashes.GetAll(0, redisKey);
哈希包含具有 long 类型值的字段。
对 Hashes.GetAll 的调用将字段值作为字节数组返回。问题是,如何将此字节数组转换为 C# long?
例如,如果我使用 Hashes.GetInt64 来检索值,我会得到 9684,这是正确的。但是我无法将检索到的字节数组转换为 long 以便它匹配这个值:
BitConverter.ToInt64(redisHashValue, 0) throws ArgumentException
BitConverter.ToInt32(redisHashValue, 0) returns 876099129
BitConverter.ToInt16(redisHashValue, 0) returns 13881