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

Vik*_*ram 22 .net vb.net integer int32

在VB.NET中,Integer和之间有什么区别Int32吗?

如果是,请解释.

Jar*_*Par 33

在功能上,类型Integer和之间没有区别System.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
Run Code Online (Sandbox Code Playgroud)

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

  • @JaredPar,感谢您的解释,非常感谢您没有发表诸如“您的谷歌坏了?”之类的评论。或者其他的东西。:) (2认同)
  • @MitchWheat我搜索了这个问题并没有找到合适的解释.大多数链接只是说"没有差异",这是不正确的.在msdn网站上有一个答案有一个不错的解释,但它在我的谷歌搜索结果中相当远 (2认同)
  • @Mitch这是我在谷歌搜索时最初看到的帖子.如此盛行. (2认同)