Convert.ToSByte (UInt16) converts 16-bit unsigned integer to 8-bit signed integer.
Class Sample Public Shared Sub Main() Dim numbers() As UShort = { UInt16.MinValue, 121, 340, UInt16.MaxValue } Dim result As SByte For Each number As UShort In numbers Try result = Convert.ToSByte(number) Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _ number.GetType().Name, number, _ result.GetType().Name, result) Catch e As OverflowException Console.WriteLine("The {0} value {1} is outside the range of the SByte type.", _ number.GetType().Name, number) End Try Next End Sub End Class