Подтвердить что ты не робот

Есть ли разница между Integer и Int32 в VB.NET?

В VB.NET существует ли разница между Integer и Int32?

Если да, пожалуйста, объясните.

4b9b3361

Ответ 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.