Ответ 1
Функционально нет разницы между типами 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
.