请参阅以下网页:https://msdn.microsoft.com/en-us/library/ms973190.aspx#64mig_topic6。它声明:
” 这些考虑因素促使Windows团队选择名为LLP64(或P64)的抽象数据模型。在LLP64数据模型中,只有指针扩展到64位;所有其他基本数据类型(整数和长整数)的长度保持为32位。 “ 我以为Long是64位?例如,请参阅以下代码:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim l As Long
l = 1234355667778444444
Dim o As Integer
o = 1234355667778444444
End Sub
初始化l成功。但是,初始化o会产生错误:“常量表达式在Integer类型中无法表示”。
为什么文档声明“所有其他基本数据类型(整数和长整数)的长度仍为32位”?在上面的示例中,变量:l是64位数据类型。
答案 0 :(得分:0)
VB.NET中的整数是32位。你的常数超过了那个大小。