VB.NET中的Integer和Int32有什么区别吗? [英] Is there any difference between Integer and Int32 in VB.NET?

查看:2135
本文介绍了VB.NET中的Integer和Int32有什么区别吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

In VB.NET, is there any difference between Integer and Int32?

如果是,请解释。

推荐答案

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

Functionally, there is no difference between the types Integer and System.Int32. In VB.NET Integer is just an alias for the System.Int32 type.

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

The identifiers Int32 and Integer are not completely equal though. Integer is always an alias for System.Int32 and is understood by the compiler. Int32 though is not special cased in the compiler and goes through normal name resolution like any other type. So it's possible for Int32 to bind to a different type in certain cases. This is very rare though; no one should be defining their own Int32 type.

这是一个具体的复制品,它展示了差异。

Here is a concrete repro which demonstrates the difference.

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

In this case local1 and local2 are actually different types, because Int32 binds to the user defined type over System.Int32.

这篇关于VB.NET中的Integer和Int32有什么区别吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆