【问题标题】:Change byte array to integer in VB.net在 VB.net 中将字节数组更改为整数
【发布时间】:2017-07-27 03:59:04
【问题描述】:

我有一个字节数组需要转换为整数,而这个数组只有一个值。我试过 Bitconverter,convert.ToInt32 都不适合我。我的代码如下:

Dim a As new Byte() ={&H1C} ' the value range is {&H01} to {&HFF}
Dim key As integer = BitConverter.ToInt32(a,1)

我需要 key = 28 的结果,我应该使用哪个转换函数? 非常感谢。

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    BitConverter.ToInt32 需要 4 个字节才能使用,因此您只需将一个字节值放入一个 4 字节数组中。考虑到字节顺序,如下所示:

    Dim a() As Byte = { &H1C }
    Dim b(3) As Byte
    If BitConverter.IsLittleEndian Then
        b(0) = a(0)
    Else
        b(3) = a(0)
    End If
    Dim key As Integer = BitConverter.ToInt32(b, 0)
    

    【讨论】:

    • 嗨@Mark,感谢您的回答,我测试了它,有点像不适合我,最后,我使用 CInt() 函数来完成这部分。谢谢。
    【解决方案2】:

    您转换的不是值数组,而是单个数组元素。

    也就是说,无需调用转换函数即可将单个Byte 转换为Integer。只需分配值。

    Dim key As Integer = a(0)
    

    【讨论】:

    • 哈哈,越简单越好……现在我觉得我的回答像个傻瓜!
    • @mark,老实说,这整个问题应该被删除。我只是在阅读了 OP 对您的回答的评论后才发布此内容,并想看看我是否可以触发一些脑细胞。
    猜你喜欢
    • 2010-09-18
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多