我有一个字节[8],实际上是一个序号。它来自数据库中的RowVersion。
我真的只关心8字节数组的最后4个字节。
我正在尝试这样做:
Version = BitConverter.ToDouble(t.Version,4)
'版本'是双倍的。但是,我得到一个错误说:
目标数组不够长,无法复制中的所有项目 采集。检查数组索引和长度。
我的'版本'的价值是:
[0] 0 [1] 0 [2] 0 [3] 0 [4] 0 [5] 0 [6] 12 [7] 102
我做错了什么?
答案 0 :(得分:5)
double
requires 8 bytes,因此您应该只从整个byte[]
获得一个:
BitConverter.ToDouble(input, 0);
返回
3.7179659497173697E+183
的更新强> 的
但是因为您说它是rowversion
值,您应该将其转换为long
而不是double
:
BitConverter.ToInt64(input, 0);
返回
7353252291589177344
答案 1 :(得分:0)
使用此代码:
double[] array= bytearray.Select(i => (double)i).ToArray();
更新
BitConverter.ToDouble(yournumber, 0);