Разница между приведением в 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?

Ответы на вопрос(7)

Ваш ответ на вопрос