ИЛИ-байт в C # дает int [duplicate]
This question already has an answer here:
Left bit shifting 255 (as a byte) 7 answersУ меня есть этот код.
byte dup = 0;
Encoding.ASCII.GetString(new byte[] { (0x80 | dup) });
Когда я пытаюсь скомпилировать, я получаю:
Cannot implicitly convert type 'int' to 'byte'. An explicit conversion exists (are you missing a cast?)
Почему это происходит? Не должен | т | два байта дают байт? Обе следующие работы, гарантируя, что каждый элемент является байтом.
Encoding.ASCII.GetString(new byte[] { (dup) });
Encoding.ASCII.GetString(new byte[] { (0x80) });