VB.NET中的Integer和Int32有什么区别吗?

时间:2013-03-08 06:05:00

标签: .net vb.net integer int32

在VB.NET中,IntegerInt32之间有什么区别吗?

如果是,请解释。

1 个答案:

答案 0 :(得分:33)

从功能上讲,IntegerSystem.Int32类型之间没有区别。在VB.NET中,Integer只是System.Int32类型的别名。

标识符Int32Integer并不完全相同。 Integer始终是System.Int32的别名,编译器可以理解。 Int32虽然在编译器中并不是特殊的,但是像任何其他类型一样通过正常的名称解析。因此,Int32可能在某些情况下绑定到不同的类型。这是非常罕见的;没有人应该定义自己的Int32类型。

这是一个具体的复制品,展示了它的不同之处。

Class Int32

End Class

Module Module1
    Sub Main()
        Dim local1 As Integer = Nothing
        Dim local2 As Int32 = Nothing
        local1 = local2 ' Error!!! 
    End Sub
End Module

在这种情况下,local1local2实际上是不同的类型,因为Int32会在System.Int32上绑定到用户定义的类型。