Я немного взволнован этой маленькой чертой С#:
Данные переменные:
Boolean aBoolValue;
Byte aByteValue;
Следующие компиляции:
if (aBoolValue)
aByteValue = 1;
else
aByteValue = 0;
Но это не будет:
aByteValue = aBoolValue ? 1 : 0;
Ошибка говорит: "Невозможно неявно преобразовать тип" int "в" byte ".
И, конечно же, это чудовище будет компилироваться:
aByteValue = aBoolValue ? (byte)1 : (byte)0;
Что здесь происходит?
EDIT:
Использование VS2008, С# 3.5