我想你误解了数字的运作方式.
数字本身不是十六进制,十进制或二进制 - 这只是它们的表示,无论是在代码中还是在内存中.1
将5和5加在一起时得到的是10,无论你将其格式化为10还是&H0A.
所以这些陈述完全相同:
Dim x As Integer = 16
Dim x As Integer = &H10
Run Code Online (Sandbox Code Playgroud)
两者都将相同的值放入变量中.
如果您想稍后将该值格式化为十六进制,那么您应该这样做 - 例如使用"x"格式说明符.但值本身不是十六进制或十进制.
Dim y As Integer = &H23
Console.WriteLine(y) ' Prints 35
Console.WriteLine(y.ToString("x")) ' Prints 23
Run Code Online (Sandbox Code Playgroud)
编辑:如果你真的想这样做,你总是可以创建自己的结构,在其构造函数中取一个整数值并覆盖ToString以十六进制格式化它.我强烈建议你不要这样做.
1诚然,代表可以显着影响你可以用数字做什么以及你会得到什么结果 - 从Double和之间的差异可以看出Decimal.我们暂时将其排除在等式之外.
| 归档时间: |
|
| 查看次数: |
14783 次 |
| 最近记录: |