VB.NET では、 と の間に違いはIntegerありInt32ますか?
はいの場合、説明してください。
Integer機能的には、タイプとの間に違いはありませんSystem.Int32。VB.NETIntegerでは、型の単なるエイリアスです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です。