0

我有一个 10 个元素的字节数组值,它取自sql_variant我的数据库表中的一列,并希望将其转换为一个 long 值。我试过这个。

 byte []a = new byte[10]{ 127, 1, 0, 202, 154, 59, 0, 0, 0, 0 };
 long i = BitConverter.ToInt64(a, 0);
 Console.WriteLine("{0}", i);

但这并没有给我正确的结果。我希望它是10000000000

如果你能给我一些关于 C# 中的类或方法的想法,我可以查看。

4

1 回答 1

0

十六进制表示法中的 10000000000 是 02540BE400。

此值的字节数组以相反的顺序为:

byte[] a = new byte[10] { 0x00, 0xE4, 0x0B, 0x54, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00};

或以十进制表示法:

byte[] a = new byte[10] { 0, 228, 11, 84, 2, 0, 0, 0, 0, 0 };

对于此数组,您的函数返回预期结果:10000000000。

于 2017-07-30T08:53:46.597 回答