在VB.NET中,
Integer
和Int32
有区别吗?如有,请解释。就功能而言,类型Integer
和System.Int32
之间没有区别。在VB.NET中,Integer
只是System.Int32
类型的别名。
但是,标识符Int32
和Integer
并不完全相等。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
。