簡體   English   中英

將代表sql_variant類型的列值的字節數組轉換為long / int64

[英]Convert byte array represented for sql_variant typed column value to long/int64

我從數據庫表的sql_variant列中提取了10個元素的字節數組值,並希望將其轉換為長值。 我試過了

 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#中的類或方法的想法。

十六進制表示法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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM