我有一个我借用的转换器类,它将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
答案 0 :(得分:0)
Integer
数据类型只能容纳32位。如果您宣布自己的BitArray
大小为33
(正如您在评论中所阐明的那样),那么对于Integer
来说,这太大了。
您需要修改您要完成的任务。但是要从Integer
函数中恢复一个ToNumeral
,您就无法通过32位信息。