Por que uma conversão é necessária para subtração de bytes em C #? [duplicado

Esta pergunta já tem uma resposta aqui:

byte + byte = int… por qu 16 respostas

Tenho que seguir o código no VS2008 .net 3.5 usando WinForms:

byte percent = 70;
byte zero = 0;

Bitmap copy = (Bitmap)image1.Clone();
...

Color oColor = copy.GetPixel(x, y);
byte oR = (byte)(oColor.R - percent < zero ? zero : oColor.R - percent);

Quando deixo o "(byte) "fora da última linha do código, recebo um erro do compilador dizendo" Não é possível converter implicitamente o tipo 'int' para 'byte '. "Se tudo for do tipobyte ebyte é um tipo inteiro ... então por que preciso ter o elenco?

questionAnswers(18)

yourAnswerToTheQuestion