BitArray CopyTo不够长

时间:2015-07-13 18:37:50

标签: vb.net

我有一个我借用的转换器类,它将BitArray转换为Integer,因此我可以将它存储在注册表中。 BitArray是32个单位,因此New BitArray(32)。

问题是我收到错误目标数组在CopyTo上不够长。

有解决方法吗?

Public Shared Function ToNumeral(binary As BitArray) As Integer
    If binary Is Nothing Then
        Throw New ArgumentNullException("Binary conversion error: Field is empty")
    End If

    Dim result = New Integer(0) {}
    binary.CopyTo(result, 0)
    Return result(0)
End Function

1 个答案:

答案 0 :(得分:0)

Integer数据类型只能容纳32位。如果您宣布自己的BitArray大小为33(正如您在评论中所阐明的那样),那么对于Integer来说,这太大了。

您需要修改您要完成的任务。但是要从Integer函数中恢复一个ToNumeral,您就无法通过32位信息。