.net - VB.NET中Integer和Int32有什么区别?

标签 .net vb.net integer int32

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

如果是,请解释一下。

最佳答案

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

尽管标识符 Int32Integer 并不完全相等。 Integer 始终是 System.Int32 的别名,并且可以被编译器理解。不过,Int32 在编译器中并不是特殊情况,并且会像任何其他类型一样经历正常的名称解析。因此,在某些情况下,Int32 可以绑定(bind)到不同的类型。但这是非常罕见的;没有人应该定义自己的 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绑定(bind)到用户定义的类型.

关于.net - VB.NET中Integer和Int32有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15287742/

相关文章:

.net - 如何使 MCR 启动时间快

floating-point - 无法将 IEEEReal.rounding_mode 与 real 统一

java - Java中如何检查值的类型?

c# - 为什么我的隐私可以访问?

.net - 如何使用 CruiseControl 从 SVN 获取特定版本的代码?

.net - 这是 .net DateTime.Compare 函数中的错误吗?

vb.net - Vb.net 委托(delegate)是强类型的吗/为什么编译器接受这个 'loosely typed' 委托(delegate)?

.net - VB 中的 if() 函数和委托(delegate)

c++ - 为无符号整数赋值时出现运行时错误

c# - 在 C# 桌面应用程序中播放视频