我有以下代码
Dim sSerialNumber = "9082285F"
Dim iSerial As Integer = ("&H" & sSerialNumber)
Dim iSerial2 As Integer = Convert.ToInt32(sSerialNumber, 16)
Run Code Online (Sandbox Code Playgroud)
但VB.NET不喜欢这个.IDE在运行时告诉我在行中检测到堆栈溢出
Dim iSerial As Integer = ("&H" & sSerialNumber)
Run Code Online (Sandbox Code Playgroud)
有人知道为什么并且知道如何正确地做到这一点吗?
谢谢!
如果您读取了错误,则表明您有一个System.OverflowException异常.尝试将您的类型更改为Long而不是Integer.
小型控制台程序来演示.
Sub Main()
Dim sSerialNumber = "9082285F"
Dim iSerial As Long = ("&H" & sSerialNumber)
Dim iSerial2 As Long = Convert.ToInt64(sSerialNumber, 16)
Console.WriteLine(sSerialNumber)
Console.WriteLine(iSerial)
Console.WriteLine(Hex(iSerial))
Console.WriteLine(iSerial2)
Console.WriteLine(Hex(iSerial2))
Console.ReadLine()
End Sub
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |