В VB.NET существует ли разница между Integer и Int32?
Если да, пожалуйста, объясните.
Ответ 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.