转换为十六进制返回奇怪的错误

时间:2014-01-30 04:18:24

标签: .net vb.net hex

以下简单表达式在我的结尾处引发ArgumentOutOfRange

100.ToString("X4")

我尝试用其他常量值和整数变量替换100,并得到相同的结果。我已将X4更改为X6,只更改X,再次获得相同的异常。错误消息是:

Enum value was out of legal range.

有没有人见过这个,或者我错过了一些非常简单的东西?

修改

这是一个完整的小程序,可以在我的最终重现它(A Console Win应用程序,添加对System.Drawing的引用):

Imports System.drawing

Module Module1
  Sub Main()
    Dim x As New ColorRange()
    Console.Write(x.ToString())
    Console.Read()
  End Sub

  Class ColorRange
    Public Overrides Function ToString() As String
      Return 100.ToString("X") & " - " & 100.ToString("X")
    End Function
  End Class
End Module

编辑2

看起来错误(bug?)在调试器中。该值在运行时打印正常。感谢Jon。如果有人有兴趣,这是VS2010 Ultimate SP1 + Win 7(64位)。

0 个答案:

没有答案