在VB.NET中,Integer和Int32有什么区别吗?
如果是,请说明。
在功能上,Integer和System.Int32类型之间没有区别。在VB.NET Integer中只是System.Int32类型的别名。
标识符Int32和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
在这种情况下,local1和local2实际上是不同的类型,因为Int32通过System.Int32绑定到用户定义的类型。