“常量表达式在Integer类型中无法表示”

时间:2015-04-18 12:54:39

标签: vb.net

请参阅以下网页: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位数据类型。

1 个答案:

答案 0 :(得分:0)

VB.NET中的整数是32位。你的常数超过了那个大小。