Разница между приведением в C # и VB.NET
Следующий код прекрасно работает в C #.
Int32 a, b;
Int16 c;
a = 0x7FFFFFFF;
b = a & 0xFFFF;
c = (Int16)b;
Но этот код вылетает с OverflowException вVB.NET.
Dim a, b As Int32
Dim c As Int16
a = &H7FFFFFFF
b = a And &HFFFF
c = CType(b, Int16)
Оба фрагмента кода кажутся мне одинаковыми. В чем разница и как я могу преобразовать код C # в VB.NET?