Это действительно странно. Кто-нибудь может это объяснить?
Этот код НЕ работает:
const byte ASC_OFFSET = 96;
string Upright = "firefly";
byte c7 = (byte)Upright[6] - ASC_OFFSET;
//Cannot implicitly convert type 'int' to 'byte'.
Этот код также НЕ работает:
const byte ASC_OFFSET = 96;
string Upright = "firefly";
byte c7 = (byte)Upright[6] - (byte)ASC_OFFSET;
//Cannot implicitly convert type 'int' to 'byte'.
Тем не менее, размещение вычитания в отдельной строке отлично работает:
const byte ASC_OFFSET = 96;
string Upright = "firefly";
byte c7 = (byte)Upright[6];
c7 -= ASC_OFFSET;
Я не против поставить операторы в отдельных строках, если мне нужно ... но я должен задаться вопросом ...
Почему?