我怎样才能将以下C#十六进制转换为VB.NET十六进制?
private const UInt32 temp = 0xE6359A60;
我尝试了以下方法,但它没有起作用。
Public Const temp As System.UInt32 = 0xE6359A60
C#使用0x
,而VB.NET使用&H
作为十六进制数的前缀。
尝试一下。
Public Const temp As Integer = &HE6359A60
Sub Main
End Sub
它也可以是Uint类型:
Public Const temp As UInt32 = &HE6359A60UI
Sub Main
End Sub
请查看MSDN的类型字符(Visual Basic)文档,以定义十六进制和八进制字面值:
编译器通常将整数字面量解释为十进制(基数为10)数字系统。您可以使用&H前缀将整数字面量强制转换为十六进制(基数为16),并且可以使用&O前缀将其强制转换为八进制(基数为8)。跟在前缀后面的数字必须适合相应的数字系统。
参考资料:
&HE6359A60
表示十六进制数,而在C#中则为0xE6359A60
。需要注意的是,E
是数字的一部分,而不是前缀的一部分,因为E
是一个有效的十六进制数字。在VB中,有效的前缀是&H
,没有E
! - Olivier Jacot-DescombesPublic Const temp As Integer = &H6359A60
在前面加上&H
&H
,而不是C#中的0x
。 - Olivier Jacot-Descombes