Преобразование логического значения в байтовое в VB.NET

Почему преобразование логического в байт в .NET дает следующее output?

Фрагмент кода:

Dim x As Boolean = 1
Dim y As Byte = x    'Implicit conversion here from Boolean to Byte

System.Diagnostics.Debug.Print( _
    "x = " & x.ToString _
    & " y = " & y.ToString _
    & " (bool)(1) = " & CType(1, Boolean).ToString _
    & " (byte)((bool)1) = " & CType((CType(1, Boolean)), Byte).ToString)

Вывод:

x = True
y = 255
(булево) (1) = Истина
(byte) ((bool) 1) = 255

Почему True (которое обычно называется целочисленным представлением 1) преобразуется в 255 при преобразовании в байт ?

6
задан afuzzyllama 9 February 2012 в 19:36
поделиться