【发布时间】:2016-11-19 11:15:49
【问题描述】:
我在第一步 (i=0) 出现错误“OverflowException”。这段代码有什么问题?
Dim byteArray As Byte() = { _
0, 54, 101, 196, 255, 255, 255, 255, 0, 0, _
0, 0, 0, 0, 0, 0, 128, 0, 202, 154, _
59, 0, 0, 0, 0, 1, 0, 0, 0, 0, _
255, 255, 255, 255, 1, 0, 0, 255, 255, 255, _
255, 255, 255, 255, 127, 86, 85, 85, 85, 85, _
85, 255, 255, 170, 170, 170, 170, 170, 170, 0, _
0, 100, 167, 179, 182, 224, 13, 0, 0, 156, _
88, 76, 73, 31, 242}
Dim UintList As New List(Of UInt64)
For i As Integer = 0 To byteArray.Count - 1 Step 8
UintList.Add(BitConverter.ToInt64(byteArray, i))
Next
【问题讨论】:
-
你确定不是
ArgumentException? -
将 Option Strict On 放在源代码文件的顶部,让编译器帮助您发现错误的原因。引发此异常的不是 BitConverter。从负 Int64 到 UInt64 的转换是无效的。请改用 BitConverter.ToUInt64()。或者你可能想要 List(Of Int64),意图很难猜。
-
谢谢汉斯..是的,现在工作..
标签: .net vb.net bitconverter