在VB.NET中声明十六进制常量

38

我怎样才能将以下C#十六进制转换为VB.NET十六进制?

private const UInt32 temp = 0xE6359A60;

我尝试了以下方法,但它没有起作用。

Public Const temp As System.UInt32 = 0xE6359A60

8
私有常量temp的值为UInt32类型,其十六进制表示为&He6359a60UI。 - V4Vendetta
2个回答

56

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)。跟在前缀后面的数字必须适合相应的数字系统。

参考资料:


1
在VB中,&HE6359A60表示十六进制数,而在C#中则为0xE6359A60。需要注意的是,E是数字的一部分,而不是前缀的一部分,因为E是一个有效的十六进制数字。在VB中,有效的前缀是&H,没有E - Olivier Jacot-Descombes

3
Public Const temp As Integer = &H6359A60

在前面加上&H


2
不,VB中的前缀应该只用&H,而不是C#中的0x - Olivier Jacot-Descombes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接